<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>조환희의 학습 블로그</title>
    <link>https://jfun.tistory.com/</link>
    <description>어제보다 1% 성장하는 오늘</description>
    <language>ko</language>
    <pubDate>Mon, 29 Jun 2026 21:31:02 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>johh</managingEditor>
    <image>
      <title>조환희의 학습 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/3016384/attach/4f3819a458b042e0a384ca8c64d4e7fd</url>
      <link>https://jfun.tistory.com</link>
    </image>
    <item>
      <title>상황에 맞는 취향 장소 발견하기. HyperLocal 추천 시스템 A to Z</title>
      <link>https://jfun.tistory.com/276</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : os(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; width=&quot;5&quot; height=&quot;5&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 지역 관점의 장소 추천 시스템&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 장소 추천의 목표 : 왜 장소 추천을 해야하는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쇼핑몰, 백화점, 마트, 편의점, 지하철역, 맛집, 술집, 전시회 (POI: point of interest)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소들은 소비재로 볼 수 있음.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;우리는 일주일간 다양한 장소에서 시간을 소비함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;네이버 서비스에서 검색을 하는 경우들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족들과 시간을 보낼만한 맛집&lt;/li&gt;
&lt;li&gt;친구들과 시간을 보낼만한 카페&lt;/li&gt;
&lt;li&gt;여행을 가서 리프레시 할만한 숙소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 사용자들이 새로운 장소를 발견하기 어려운 이유&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가로수길 맛집 검색시 (장소와 원하는 것을 넣어 검색)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서는 지역 내의 퀄리티 있는 맛집들을 선별해서 알려줌&lt;/li&gt;
&lt;li&gt;좋은 결과임에도 아쉬운 부분들이 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색어의 키워드가 떠오르지 않는 경우 - 맛집 이외에는 뭐라고 검색해야할까?&lt;/li&gt;
&lt;li&gt;취향 장소를 찾지 못한 경우 - 내가 어떤걸 좋아했지?&lt;/li&gt;
&lt;li&gt;탐색의 상황에 맞지 않는 경우 - 함께 갈만한 1차, 2차 장소를 함께 볼 수는 없을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 장소 발견의 가치를 제공하는 HLP Engine&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 취향과 상황에 맞는 장소를 만나게 하는 추천엔진 개발 - HyperLocal Personalization Engine!&lt;/li&gt;
&lt;li&gt;기존의 검색 결과에 개인화된 추천 결과를 통해 발견의 가치를 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역 내 유명한 장소들을 검색의 결과로 제공 + 개인화된 추천을 통한 발견의 가치&lt;/li&gt;
&lt;li&gt;&amp;rarr; 개인화된 지역 검색 결과를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. HyperLocal Personalization의 구성요소&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.0 HyperLocal Personalization의 구성요소&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추천 대상&lt;/b&gt;(무엇을 추천하여 장소를 발견하게 할 것인가) x &lt;b&gt;추천 방식&lt;/b&gt; (어떤 방식으로 추천할 것인가) = &lt;b&gt;HLP 추천기술&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 Objects of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천대상
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI(장소) 자체를 추천&lt;/li&gt;
&lt;li&gt;POI를 소비하는 유저를 추천 : 유저가 방문했던 혹은 좋아했던 다른 장소들을 발견하기 위해 다른 장소를 간접적으로 발견하도록 함&lt;/li&gt;
&lt;li&gt;UGC 컨텐츠 : 사용자가 생성한 컨텐츠로 가장 활발한 컨텐츠&lt;/li&gt;
&lt;li&gt;테마 : 공통 특성으로 묶인 POI나 UGC의 그룹을 잘 묶어 하나의 테마나 컬렉션 형태로 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 아이와 함께 가볼만한 장소의 묶음 혹은 리뷰의 묶음 &amp;rarr; 장소를 새로운 가치로 발견하도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 Levels of HyperLocal Personalization&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 방식(레벨)
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;no personalization - 지역의 다양한 트렌드 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 지역 특색메뉴 - 수육백반 / 갈삼구이 / 참불꼼장어 / 멸치쌈밥 / 멸치회 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;segmentation - 내가 속한 그룹의 인기에 기반하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 연령대/성별 추천 - 남자 / 여자 / 10대초반 / 10대후반 / 20대 초반 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;personalization - 사용자의 취향을 깊이 있게 이해햐여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 개인화 추천 ForYou - 내 취향과 비슷한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HyperLocal Personalization - 사용자가 놓인 상황까지 이해하여 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 부산 맛집 : 함께 가볼만한 장소 - 라운딩과 함께 가볼만한 맛집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.3 HyperLocal Personalization의 기술들&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4가지 추천 대상과 4가지 추천 방식을 조합하여 추천 기술을 개발&lt;/li&gt;
&lt;li&gt;이전에 Deview나 콜로키움을 통해 발표
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deview
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016 : 딥러닝을 이용한 지역 컨텍스트 검색 (POI)&lt;/li&gt;
&lt;li&gt;2018 : Location Based Recommendation (POI)&lt;/li&gt;
&lt;li&gt;2020 : 당신의 취향의 맛집을 추천해드립니다 : 장소 개인화 추천 시스템의 비밀 (POI+User)&lt;/li&gt;
&lt;li&gt;2021 : Knowledge Graph에게 맛집과 사용자를 묻는다. - GNN으로 맛집 취향 저격하기! (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;콜로키움
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2017 : POI Understanding AI. ConA (POI)&lt;/li&gt;
&lt;li&gt;2019 : SmartAround (POI)&lt;/li&gt;
&lt;li&gt;2021 : Understanding POI (POI+User)&lt;/li&gt;
&lt;li&gt;2022 : User/POI/UGC Recommendation using Graph Neural Network (POI+User+UGC)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. HyperLocal Personalization의 Representation Learning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.0 Process of Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;representation learning의 중요성 (추천시스템의 근간이 되는 기술)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 대상(POI, user, UGC 등)을 latent space에 embedding 시키는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;top k nearest에 기반한 추천을 하고있다
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 object간에 유사도가 가까운 것들은 우선적으로 추천&lt;/li&gt;
&lt;li&gt;간편하며 시스템 적으로 설계하기 편하며 효과도 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning의 3가지 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Context Discovery : 어떠한 발견의 가치를 줘야할지 컨텍스트 발굴 단계&lt;/li&gt;
&lt;li&gt;Model Development : 컨텍스트에 맞는 데이터 정의. 데이터에 맞는 모델을 설계&lt;/li&gt;
&lt;li&gt;Service Application : service를 실제로 적용하는 단계&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;representation learning은 Personalization과 HyperLocal Personalization에서 가장 중요한 단계
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 두 가지 추천 방식에 맞춰 각각의 사례를 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.1 Next POI Recommendation with Heterogeneous Domain&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC : &amp;ldquo;특정 업체를 다음에 방문할 만한 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x HyperLocal Personalization = 다음에 방문할 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 장소 다음에 갈만한 장소를 어떻게 찾고 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께하는 부산 여행을 준비하며
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;해운대 인기 호텔 예약&lt;/li&gt;
&lt;li&gt;숙소 주변의 맛집, 카페들 찾아 저장&lt;/li&gt;
&lt;li&gt;약간 멀더라도 갈만한 거리의 전시회 및 명소 검색&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;사용자들은 방문 장소와 유사한 성격을 지니는 장소들을 주로 탐색함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가족과 함께 갈만한 맛집, 자연명소, 리조트&lt;/li&gt;
&lt;li&gt;골프장 이후/이전의 갈만한 맛집&lt;/li&gt;
&lt;li&gt;미술관 관람 이후, 휴식 공간&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 장소와 같은 탐색 의도를 가지는 장소들을 어떻게 데이터로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 서비스 내 방문/클릭(관심) 데이터를 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방문 날짜 전 후에 검색했던 장소 (근처 지역에서)&lt;/li&gt;
&lt;li&gt;방문 및 이용 날짜 (예약, 영수증 기준)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다른 Domain의 장소들간의 Co-occurrence를 잘 표현하는 것이 중요! &amp;rarr; word2vec 기반 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;word2vec은 하나의 문장내에서 함께 등장하는 단어들 간의 Co-occurrence를 고려한 언어모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;방문이라는 Explicit Feedback을 모델에 강하게 반영해보자! &amp;rarr; Global Context를 반영한 모델&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;describe
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 문장내의 POI들과 함께 Co-occurence가 일어날 수 있게 실제 문장을 설계
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방문과 사용자 클릭 데이터를 기반으로 POI들을 word로 구성&lt;/li&gt;
&lt;li&gt;방문데이터 자체를 Global Context로 고려하여&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885920_0&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/233bd03d-1132-42a4-9469-79767e525f0f/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;각각의 POI들로 구성된 Document를 구성하고, word2vec을 백본으로 학습하여 RelatedPOI2VEC 모델을 개발&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_1&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/48583dcc-a4d2-49a0-a7c3-21b5f0b8d1a4/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Limitation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Click을 정말 같은 의도라고 볼 수 있을까? - 탐색의 의도나 신뢰도가 떨어진다고 생각됨&lt;/li&gt;
&lt;li&gt;특정 기간 내에도 다른 의도의 탐색이 섞여 있지 않을까?&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; 다른 데이터를 함께 사용하여 정확도를 올리고자 함&lt;/li&gt;
&lt;li&gt;네이버 지도 내 길찾기 데이터 사용
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 피드백이 확실함&lt;/li&gt;
&lt;li&gt;출발지와 도착지가 존재하며, 길찾기의 빈도 수 정보가 있음 (통계모델)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다른 데이터를 이용해서 정확도를 올릴 수 없을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RelatedPOI2VEC의 다음 장소에 대한 score와 통계 모델에 대한 다음 장소에 대한 score를 종합하여 최종 추천 스코어를 계산&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885920_2&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4c588db9-955d-4572-b800-db8a98b84f8e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 서비스 적용 결과
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;골프장 전/후 가볼만한 맛집/카페&lt;/li&gt;
&lt;li&gt;서핑 게스트하우스와 함께 가볼만한 장소/맛집&lt;/li&gt;
&lt;li&gt;키즈풀빌라 이후 갈만한 맛집/장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.2 Optimization with Joint Representation Learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Global-POI2VEC : &amp;ldquo;취향 장소와 가장 유사한 특성을 지닌 &lt;b&gt;장소를 추천&lt;/b&gt;하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI x Personalization = 취향 기반 장소 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소간 유사성은 어떻게 판단할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 POI를 탐색하는 상황을 잘 이해해야 한다.&lt;/li&gt;
&lt;li&gt;사용자와 POI는 다양한 Interaction이 있고, 다양한 context에서 POI는 user에 의해서 소비되게 된다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;context들에 대해서 깊이 이해하고, POI를 embedding 할수록 취향을 기반으로 좋은 추천을 할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 Context들을 어떻게 정의할 수 있을까?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_3&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/56eab18d-f7b5-48ae-8f1c-3cbf9f8aa20e/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표현할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Context 1 : Nearby Alternative
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 지역을 중심으로 특정 반경 내의 장소를 탐색하는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 야식, 데이트하기 좋은 장소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하나의 검색 질의를 session으로 가정하고 session 내의 POI sequence를 동일한 근처의 대체제적인 성격을 지닌 데이터라고 간주할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI들 간의 Co-occurence를 잘 임베딩하여 반영해야한다 &amp;rarr; POI2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_4&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b6b58594-421e-4314-91c9-e0a7c610d5a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 2 : Similar Metadata
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 특성을 지닌 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 특정 메뉴, 특정 분위기, 특정 가격대&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI들이 가지고 있는 실제 데이터(족발, 치킨, 삼겹살 등)들을 공통적으로 검색하는 경우가 있음 &amp;rarr; 공통적인 POI들끼리 가까이 임베딩 시킬 필요가 있음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공통된 Metadata를 지닌 POI들간의 POI-Metadata의 관계를 표현하기 위해 Graph 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POI-Metadata간의 관계를 깊이있게 고려하여 representation learning을 할 필요가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 Metadata 상의 random walk에 기반한 metapath를 가장 잘 정의할수 있는 MetaPath2VEC라는 Graph learning Model을 백본 &amp;rarr; POIMeta2VEC 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_5&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e5e71dd1-e1cf-45b5-9d92-7d2248c3f54a/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context 3 : Similar Taste
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자가 방문했던/좋아했던 장소를 추천해주는 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 사용자들은 내가 아는 사람이 좋아했다고 하면 선호하는 경향성을 띔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;user들이 방문한 POI가 비슷하거나 POI를 방문한 유저들이 비슷하다면, POI끼리는 매우 유사하다고 판단할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI와 User로 구성된 Heterogeneous한 Graph를 잘 표현하기 위해 Graph 방식을 취함&lt;/li&gt;
&lt;li&gt;POI와 Graph간 Random Walk(주변 노드와의 Importance 고려)를 이용&lt;/li&gt;
&lt;li&gt;PinSage를 백본으로 사용 &amp;rarr; POISage 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scalability에 강하게 됨&lt;/li&gt;
&lt;li&gt;서로 다른 유저가 좋아하지 않았던 POI를 고려할 수 있음&lt;/li&gt;
&lt;li&gt;실제 collabolative한 성향이 더 잘 녹아드는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_6&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4019f3e9-c7dc-4d5a-a6df-73862e48c6f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.00.22.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;이런 행동들을 어떻게 Model로 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI가 유저에 의해 소비되는 것은 다양한 Context가 있고 아래와 같이 3가지 모델로 압축할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_7&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/7fe40fc7-32f0-47a9-9a47-13df6f39d470/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.01.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Context별로 학습한 모델들이 다른 특성을 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로다른 컨텍스트에 대해 representation learning을 진행해서인지 서로다른 특성을 보이고 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파랑 : others(고기구이), 붉은색 : 소고기, 녹색 : 돼지고기, 주황색 : 정육식당&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885921_8&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/13641441-12d8-476f-951c-19b815132f62/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;POI2VEC : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 중심으로 임베딩되어 그런지 서로 뭉쳐져 있지 않은 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POIMeta2VEC : 사용자들이 방문한 poi에 기반한 poi-user graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메타데이터라는 것을 고려해서인지 서로 뭉쳐져서 표현되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;POISAGE : 다양한 user, poi feature를 고려하고, collabolative filtering의 성향을 반영
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향을 고려해서 각각의 업종들 간에도 분리되는 것을 확인할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 context를 고려하여 optimization 할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 context를 고려하여 최적의 우리만의 POI embedding을 만들고 싶었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그렇게 해야 모든 상황에 맞는 모든 downstream task에 맞는 취향기반 장소 추천을 잘할수 있지 않을까 생각&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AutoEncoder를 백본으로 하여 joint representation learning을 진행
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;cosine similarity(top k nearest)에 기반한 추천에 적합한 joint representation learning은 무엇일까?&lt;/li&gt;
&lt;li&gt;기존 context를 뭉개지 않고 context별 모델로 부터 생성된 POI embedding들을 어떻게 유지할 수 있을까?&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 모든 Context를 고려하여 Optimization 할 수 있을까?
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;앞에서 나온 3가지 결과의 모델은 concat&lt;/li&gt;
&lt;li&gt;reconstruction loss + classification loss &amp;rarr; our loss 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;reconstruction loss : AutoEncoder&lt;/li&gt;
&lt;li&gt;classification loss : POI에 가장 중요하다고 할 수 있는 업종을 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GLOBAL POI2Vec 모델 개발&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885921_9&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/eb439bd4-6259-45b6-9fc6-7526987ebe26/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.19.43.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;실제로 다양한 Context에 대해 optimization 되었는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞선 3개의 모델에 비해 우수한 성능을 보여줌 (precision)&lt;/li&gt;
&lt;li&gt;추천에서는 내가 생각하지 못한 다양한 장소를 발견하는 가치도 중요 (diversity)&lt;/li&gt;
&lt;li&gt;더 정확한 결과는 ICDM에서 발표했던 논문결과에서 확인할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_10&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/826195bd-ecb5-431d-9d01-19922ed978c0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에 신뢰를 어떻게 줄 수 있는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Naver 통합검색 ForYou와 Line Place ForYou에 적용됨&lt;/li&gt;
&lt;li&gt;과거에 내가 좋아요 했던 어떤 식당과 비슷하다는 형식으로 추천이 됨을 확인할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 추천 사유에 기반한 explainable recommendation
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자에게 신뢰도를 높여 서비스 품질 향상&lt;/li&gt;
&lt;li&gt;목적, 메뉴, 장소가 tv에 나왔기 때문인지에 대한 추천 레이블을 붙임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.3 Understanding User Behavior with graph deep learning&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC : &amp;ldquo;나와 유사한 행동을 보이는 &lt;b&gt;사용자를 추천&lt;/b&gt;하고, 그 사용자들을 통해 취향 장소를 발견하게 하자&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 myPlace와 같은 피드시스템이 있으며, 내가 구독하고 있는 유저를 통해 나만의 장소를 발견하는 것이 중요&lt;/li&gt;
&lt;li&gt;이러한 유저 추천 역시 지역관점의 장소를 발견하게 해주는 추천시스템에서 매우 중요한 요소&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나와 유사한 행동을 보이는 사용자를 추천하고, 그 사용자들을 통해 취향 장소를 발견하게 하자.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE, VisitSAGE, History2VEC&lt;/li&gt;
&lt;li&gt;User x Personalization = 사용자 행동 기반 User 추천&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유사한 유저들을 판단하는 행동들은 어떻게 정의할 수 있을가?&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885922_11&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8bfa97a0-6b8e-41c9-b9d2-a7900036625b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 데이터로 정의하고 모델로 표현할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FollowSAGE : Fllow behavior on user
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Following, Follow하는 유저들이 유사한 정도&lt;/li&gt;
&lt;li&gt;Follow Action(user간 action)에 기반한 User Homogeneous Graph
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User Homogeneous Graph : user간의 관계를 그리는 user homogeneous한, 노드가 한개만 존재하는 그래프로 데이터 표현 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User간의 Follow에 기반한 Topological한 구조를 잘 이해해보자
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유저를 잘 임베딩 시키기 위해서는 내 주변에 어떠한 유저들이 있고, 그래프 상에서 유저 노드가 어떠한 위치에 표현이 되어 있는지 topological한 구조를 잘 이해하고 있어야해&lt;/li&gt;
&lt;li&gt;유저의 follow에 기반한 topological한 구조를 가장 잘 이용할 수 있는 graph sage를 백본으로 함 &amp;rarr; Follow Sage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_12&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/493ba031-67e6-45ee-86dc-9a1630958172/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;VisitSAGE : Explicit Feedback Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POISage와 매우 유사
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;POI 관점에서 보는 것이 아니라 유저가 소비한 POI가 유사한 정도를 통해 추천 (collaborative한 필터링 성향을 띄고있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User와 User는 직접 연결되지 않고, 함께 방문했던 POI를 통해 추천되게 됨 (Bipartite Graph)&lt;/li&gt;
&lt;li&gt;User와 POI만 가진 Heterogeneous한 graph라고 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이러한 Graph를 가장 잘 이해하는데는 PinSage라는 모델이 scalable하며 User와 POI 피쳐를 다양하게 고려할 수 있기 때문에 가장 적합하다고 할 수 있다. &amp;rarr; VisitSage 모델 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_13&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/bc8343d6-8087-455b-993d-e752b1a8e2b3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;History2VEC : User&amp;rsquo;s Recent Visit Behavior on POI
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;최근에 관심을 가지고 있는 다음에 갈 장소가 유사할 수 있다라는 가정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연속해서 방문하고 관심을 갖는 장소들을 User에 대한 POI Sequence 데이터로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것은 multi-lable에 대한 classification 문제로 볼 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Deep Neural Network for Youtube Recommendation을 백본으로 하여 우리만의 모델 개발
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이를통해 다음에 갈 장소를 제공하는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;classification 하기 전 단계에 있는 임베딩 값을 유저라고 가정하고, 유저간의 유사도를 구하는 과정을 통해 실제 유저를 추천&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; History2Vec 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_14&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e0784f68-af34-40c6-a921-69380d69713b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Context들을 어떻게 Data로 정의하고 Model로 표혈할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;User의 유사도를 정의하는데, 3가지 context로 분류하고 각 컨텍스트에 맞는 모델을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_15&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/6e408c05-bbbc-45bf-9da7-d6f4cf7fbcc0/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Local Domain의 특성에 맞게 어떻게 최적화하여 학습할까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;똑같이 선호도를 표현하였어도 강도에 차이가 있을 것이다. ex)Follow
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edge를 binary relation이 아닌 weighted relation로 간주하여 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;positive와 negative loss 이외에 Low-rank positive term을 추가하여 조금 더 Node간에 relation을 weight로 간주하여 모델 고도화&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885922_16&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/a1bf70f5-8e0e-483f-857d-7b6a389f41da/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;어떤 추천 모델이 가장 좋은 결과를 보이는가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Precision(정확도) 측면에서는 Follow Sage가 가장 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Follow라는 action이 방문, 관심, 최근이라는 것보다 명확한 사용자의 피드백이기 때문&lt;/li&gt;
&lt;li&gt;그러나 Diversity 측면에서는 가장 약한 모습을 보여줬다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_17&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/d874a3b9-0859-4617-832e-2b45901f5fb9/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;하나의 Collection을 통해, User 추천을 한다면 어떻게 최적화할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 가장 큰 가치 중 하나도, 다양한 유저들을 추천하고 following 함으로써 더 다양한 장소들을 통해 나도 몰랐던 장소를 추천 받는 것&lt;/li&gt;
&lt;li&gt;단일 모델로는 최적의 결과를 만들어내기는 어렵다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;어떻게 여러 모델을 조합하여 최적의 추천 결과를 제공할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3가지 모델을 통해 추천된 추천 User의 candidate를 기반
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;각각이 나와 얼마나 유사한지 조금 더 구체적으로 확인하는 관심지역이나 최근 검색했던 메뉴, 관심업종과 같은 것을 Jacard Distance로 계산&lt;/li&gt;
&lt;li&gt;계산 결과를 기반으로 다시 하나의 컬렉션으로 만들어 나의 취향과 유사한 유저를 추천해주는 방식을 취함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_18&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/8b8bf0f1-350d-4f2a-ae6b-5930b0cca8e5/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Line Place나 Naver My Place를 보면, 나와 취향이 유사한 유저라는 하나의 방식으로 추천&lt;/li&gt;
&lt;li&gt;하나의 collection 안에는 여러가지 모델이 앙상블 되어 다양한 추천 사유에 기반이 되어 추천&lt;/li&gt;
&lt;li&gt;사용자에게 novelty, diversity, 높은 정확도까지 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_19&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/f9219ecf-af68-4275-9ae2-be37f7559a53/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.4 Understanding User Intent with Multimodality&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ReviewSAGE : &amp;ldquo;Multimodality에 기반한 검색 의도를 이해하여 추천해보자.&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC x HyperLocal Personalization = UGC 기반 실시간 반응형 추천&lt;/li&gt;
&lt;li&gt;가장 lively한 추천 결과 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Context Discovery&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에는 다양한 UGC가 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 블로그, 리뷰&lt;/li&gt;
&lt;li&gt;이미지와 텍스트가 존재한다는 특징을 가지고 있음&lt;/li&gt;
&lt;li&gt;UGC를 소비하는데 있어 Image와 text를 이용해 장소를 갈지 말지 판단. (multi-modality)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;UGC는 어떠한 특성을 지닐까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소와 POI 모두를 포함하는 global 적인 structure를 가지고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_20&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e88fdb06-cddc-4984-ba13-ee95c4c03f9d/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Model Development&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Structured Data를 모델로 어떻게 녹여낼 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Graph 구조로 표현하는 것!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UGC의 Structure를 잘 이해하고 multi-modality적인 성격을 잘 녹여내는데 있어 Graph modeling을 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885923_21&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/502d6255-42a5-4f4e-9e1b-ea7441e32213/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가장 명확한 표현은 UGC는 POI에 포함되어 있다는 것
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;그래프로 표현하면 POI를 중심으로 연결되어 있는 각각이 Separated 된 Star Graph 형태를 띄게 됨&lt;/li&gt;
&lt;li&gt;이렇게 되면 서로 POI간에 UGC가 가져갈 수 있는 정보라는 것은 단일 POI 뿐이기 때문에 UGC가 제대로 임베딩 되지 않음&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_22&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5e45d789-9eae-4378-b8a9-a5941531c621/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Separated Graph를 User 취향 기반으로 연결하여 Node간 Feature를 공유할 수 있도록 Graph를 Design
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;사용자가 남긴 다른 POI지만 같은 업종에 있다하면 유사한 특성을 지닐수 있기 때문에 이러한 것들을 virtual edge로 연결하여 POI와 UGC로 생성된 Heterogeneous한 그래프 구성&lt;/li&gt;
&lt;li&gt;이 그래프로 앞서 말한 PinSage 모델에 적용하기 좋음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 가지 타입으로만 구성된 Bipartite Graph이므로&lt;/li&gt;
&lt;li&gt;이때는 negative sample(서로 유사하지 않음)을 정의하는 것이 매우 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885923_23&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/e6318f7f-9934-435a-bb72-37faff55d787/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.21.54.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Negative Loss는 어떻게 정의할 수 있을까?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장소추천에서 가장 중요하다고 할 수 있는 &amp;ldquo;서로 다른 업종은 분명히 다를 가능성이 높다.&amp;rdquo;에 기반하여 negative sample로 정의하여 Review Sage 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제로 Multimodality를 고려한 추천의 품질은 어떠한가?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Multi-modality적인 성격을 녹여내는 것이 좋다는 것을 확인할 수 있음
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Review Sage의 Node Feature로 UGC에 Image와 Text들을 PreTrained 모델을 임베딩시켜 넣음&lt;/li&gt;
&lt;li&gt;Review Sage는 UGC와 POI, User의 Global Structure까지 고려하기 때문에 훨씬 더 좋은 성능을 보이며, Diversity 측면에서도 다양한 장소들을 발견하게 해줌
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 Image나 Text에 기반하여 nearest를 찾는 것이나 Image와 Text를 concat시켜 찾는 것 보다 훨씬 좋은 성능이 나옴&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img id=&quot;img_1722781885924_24&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/41035f22-c830-4f41-bfb0-b198828e88a3/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service Application&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 서비스 적용 결과는?
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 이미지를 가지고 있는 UGC를 클릭을 하거나 피드백을 보인 경우에 유사한 방식으로 장소를 소비한 리뷰들을 리스트 형식으로 제공하는 것을 고려&lt;/li&gt;
&lt;li&gt;실시간적인 사용자의 Intent를 고려하여 반응형으로 추천해주는 모델을 적용 예정&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_25&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/cea7d95d-2ab4-457f-a22c-302fd0a6c3a8/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.34.58.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. 사용자들은 추천 서비스들을 어떻게 사용하고 있을까?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.0 HLP Engine이 적용된 다양한 서비스들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.1 얼마나 많은 사용자들이 HLP Engine을 통해, 발견의 가치를 누리고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기술을 통해 소상공인을 발견해나가는 유저들이 한해동안 꾸준히 늘어남&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_27&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/b635c8a5-9786-40ca-b977-d9ce30f6007b/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.43.56.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.2 사용자들은 얼마나 많은 SME들을 발견하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 적용해 나갈때마다 계속적으로 증가&lt;/li&gt;
&lt;li&gt;&lt;img id=&quot;img_1722781885924_28&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/fd9e92f7-6fe0-4276-bad9-7178ccdbe46b/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.3 HLP Engine이 얼마나 장소 발견에 기여하고 있는가?&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. What&amp;rsquo;s Next for HyperLocal Personalization&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.1 Understanding local Trend Visually&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역을 소비하는게 가장 중요하다고 할 수 있는 이미지를 기반으로 &amp;ldquo;지역의 Visual Trend를 추천해보자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거엔 POI나 UGC를 추천하는 경우가 많았는데, UGC 중에서 Image를 직접적으로 추천하여 해당 장소에 가면 어떤 방식으로 사진을 찍으며 놀 수 있는지 발견의 가치를 제공하고자 함&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_30&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/5192971f-c2f9-4808-b4fa-f155a22af341/Untitled.png&quot; /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보유하고 있는 데이터인 Query와 UGC 데이터를 바탕으로 만들어진 모델을 통해 Visual Trend를 추천하고자 함
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NLP기반 Trend 추천모델 (LocalTrendRec)&lt;/li&gt;
&lt;li&gt;Contrastive Image-Text Foundation Model (ThumbnailRec)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 지역을 소비할 수 있는 컨텐츠 제공
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 힐링파크에서 카약을 탈 수 있다. 해수욕장에 갈 수 있다..&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_31&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/4500476a-4ff2-4f82-b425-b03cd291c8f1/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2024-02-12_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_11.50.24.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5.2 Optimize Recommendation on HyperLocal Context&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;Real Time Context를 이해하여, 추천을 최적화하자!&amp;rdquo;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 취향은 다양하고, 취향에 해당하는 장소들이 실시간적으로 나의 needs에 맞게 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어느 요일인지, 어느 시간대인지, 어느 날씨인지에 따라 달라질 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;퇴근 후, 금요일 저녁에는 어떤 메뉴를 추천해주는 것이 좋을까?&lt;/li&gt;
&lt;li&gt;바쁜 평일 점심에는 어떤 메뉴를 추천해주는게 좋을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;위와 같은 컨텍스트를 고려하여 장소를 추천해주는 기술을 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실제 상황에 맞는 사용자 취향 기반의 최적화된 추천 결과(reranking)&lt;/li&gt;
&lt;/ul&gt;
&lt;img id=&quot;img_1722781885924_32&quot; src=&quot;https://prod-files-secure.s3.us-west-2.amazonaws.com/8aff08f7-c83b-47b3-ba79-7675f19e9e63/315dc25b-c6f8-4881-9166-bf8174f8d4ff/Untitled.png&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Conclusion&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천에서 최적의 모델(Sota)가 있다고 가정하고 개발하고 있진 않다.&lt;/li&gt;
&lt;li&gt;사용자들에게 다양한 관점에서 서비스적인 가치와 발견의 가치를 제공하는 것이 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(Context Discovery) 어떠한 상황에서 발견을 하게 해줘야 하는지&lt;/li&gt;
&lt;li&gt;(Context Discovery) 발견에 최적화된 모양의 데이터는 무엇인지&lt;/li&gt;
&lt;li&gt;(Model Development) 그것을 가장 최적화 하기위한 모델은 어떤 형태가 좋을지&lt;/li&gt;
&lt;li&gt;(Service Application) 서비스에 제공하는데 정확도와 신뢰도를 주기위해 다양한 기법들을 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/276</guid>
      <comments>https://jfun.tistory.com/276#entry276comment</comments>
      <pubDate>Sun, 4 Aug 2024 23:37:53 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] kubernetes Upgrade-Node</title>
      <link>https://jfun.tistory.com/275</link>
      <description>&lt;h4 style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Control plane upgrade (hk8s)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Kubernetes cluster upgrade
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;kubeadm, kubelet, kubectl을 각각 업그레이드&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Woker node Upgrade
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;Upgrade할 node에 접속&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;kubeadm 업그레이드&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;&quot;kubeadm upgrade&quot; 호출&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;노드 드레인&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;kubelet과 kubectl 업그레이드&lt;/li&gt;
&lt;li style=&quot;list-style-type: decimal;&quot;&gt;노드 uncordon&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Worker node Upgrade (&lt;a href=&quot;https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/upgrading-linux-nodes/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/upgrading-linux-nodes/&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Upgrade할 node에 접속&lt;/p&gt;
&lt;pre id=&quot;code_1688993836570&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# worker1 업그레이드를 위해 접속. (나머지 worker도 전 과정을 똑같이 진행해주면 된다.)
$ ssh hk8s-worker1 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-76-generic x86_64)

$ sudo -i&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. kubeadm 업그레이드&lt;/p&gt;
&lt;pre id=&quot;code_1688993944331&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ apt-mark unhold kubeadm &amp;amp;&amp;amp; \
  apt-get update &amp;amp;&amp;amp; apt-get install -y kubeadm=1.27.1-00 &amp;amp;&amp;amp; \
  apt-mark hold kubeadm
...
The following packages will be upgraded:
  kubeadm
1 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.
Need to get 9928 kB of archives.
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. &quot;kubeadm upgrade&quot; 호출&lt;/p&gt;
&lt;pre id=&quot;code_1688994104484&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ sudo kubeadm upgrade node
[upgrade] Reading configuration from the cluster...
[upgrade] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks
[preflight] Skipping prepull. Not a control plane node.
[upgrade] Skipping phase. Not a control plane node.
[upgrade] Backing up kubelet config file to /etc/kubernetes/tmp/kubeadm-kubelet-config495210393/config.yaml
[kubelet-start] Writing kubelet configuration to file &quot;/var/lib/kubelet/config.yaml&quot;
[upgrade] The configuration for this node was successfully updated!
[upgrade] Now you should go ahead and upgrade the kubelet package using your package manager.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 노드 드레인&lt;/p&gt;
&lt;pre id=&quot;code_1688994566362&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# worker의 drain 작업은 콘솔환경으로 나가서 진행해야 한다.
$ exit
logout #root
$ exit
logout #hk8s-worker1
Connection to hk8s-worker1 closed.

$ kubectl drain hk8s-worker1 --ignore-daemonsets
node/hk8s-worker1 cordoned
evicting pod kube-system/metrics-server-7fcb88f75-8wnhn
evicting pod calico-apiserver/calico-apiserver-79856c48fc-hpxjm
evicting pod calico-apiserver/calico-apiserver-79856c48fc-x9hv2
evicting pod calico-system/calico-kube-controllers-7f55d475d-ctdqx
evicting pod calico-system/calico-typha-7b57995ddf-zwh2k
evicting pod kube-system/coredns-5d78c9869d-6v46k
evicting pod kube-system/coredns-5d78c9869d-qctzk

$ kubectl get nodes
NAME           STATUS                     ROLES           AGE    VERSION
hk8s-master    Ready                      control-plane   131d   v1.27.1
hk8s-worker1   Ready,SchedulingDisabled   &amp;lt;none&amp;gt;          131d   v1.26.0
hk8s-worker2   NotReady                   &amp;lt;none&amp;gt;          131d   v1.26.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. k&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot;&gt;ubelet과 kubectl 업그레이드&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688994711879&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ ssh hk8s-worker1 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-76-generic x86_64)
$ sudo -i

# kubelet과 kubectl 업그레이드
$ apt-mark unhold kubelet kubectl &amp;amp;&amp;amp; \
  apt-get update &amp;amp;&amp;amp; apt-get install -y kubelet=1.27.1-00 kubectl=1.27.1-00 &amp;amp;&amp;amp; \
  apt-mark hold kubelet kubectl
...
The following packages will be upgraded:
  kubectl kubelet
2 upgraded, 0 newly installed, 0 to remove and 77 not upgraded.
Need to get 29.0 MB of archives.
...

# kubelet을 다시 시작
$ sudo systemctl daemon-reload
$ sudo systemctl restart kubelet&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 노&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: left;&quot;&gt;드 uncordon&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1688994882138&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ exit
logout #root
$ exit
logout #hk8s-worker1
Connection to hk8s-worker1 closed.

# uncordon
$ kubectl uncordon hk8s-worker1
node/hk8s-worker1 uncordoned

# 업그레이드 확인
$ kubectl get nodes
NAME           STATUS     ROLES           AGE    VERSION
hk8s-master    Ready      control-plane   131d   v1.27.1
hk8s-worker1   Ready      &amp;lt;none&amp;gt;          131d   v1.27.1
hk8s-worker2   NotReady   &amp;lt;none&amp;gt;          131d   v1.26.0&lt;/code&gt;&lt;/pre&gt;</description>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/275</guid>
      <comments>https://jfun.tistory.com/275#entry275comment</comments>
      <pubDate>Mon, 10 Jul 2023 22:14:55 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] kubernetes Upgrade-master</title>
      <link>https://jfun.tistory.com/274</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;Control plane upgrade (hk8s)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Kubernetes cluster upgrade
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;kubeadm, kubelet, kubectl을 각각 업그레이드&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Control-plane Upgrade
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Upgrade할 master에 접속&lt;/li&gt;
&lt;li&gt;업그레이드 할 버전 확인&lt;/li&gt;
&lt;li&gt;kubeadm 업그레이드&lt;/li&gt;
&lt;li&gt;노드 드레인 : console이나 master에서 실행&lt;/li&gt;
&lt;li&gt;kubelet과 kubectl 업그레이드&lt;/li&gt;
&lt;li&gt;노드 uncordon&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Control-plane Upgrade (&lt;a href=&quot;https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/#determine-which-version-to-upgrade-to&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/#determine-which-version-to-upgrade-to&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Upgrade할 master에 접속&lt;/p&gt;
&lt;pre id=&quot;code_1688973151921&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# hk8s-master 노드에 접속
$ kubectl config use-context hk8s 
Switched to context &quot;hk8s&quot;.
$ kubectl config current-context 
hk8s
$ kubectl get nodes
NAME           STATUS     ROLES           AGE    VERSION
hk8s-master    Ready      control-plane   130d   v1.26.0
hk8s-worker1   Ready      &amp;lt;none&amp;gt;          130d   v1.26.0
hk8s-worker2   NotReady   &amp;lt;none&amp;gt;          130d   v1.26.0
$ ssh hk8s-master 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-60-generic x86_64)

# os 확인
$ sudo cat /etc/os-release 
PRETTY_NAME=&quot;Ubuntu 22.04.1 LTS&quot;
NAME=&quot;Ubuntu&quot;
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.&amp;nbsp;업그레이드 할 버전 확인&lt;/p&gt;
&lt;pre id=&quot;code_1688973773341&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 업그레이드할 버전 확인하고 결정
$ apt update \
  apt-cache madison kubeadm
...
79 packages can be upgraded. Run 'apt list --upgradable' to see them.
   kubeadm |  1.27.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
   kubeadm |  1.27.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
   kubeadm |  1.27.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. kubeadm 업그레이드&lt;/p&gt;
&lt;pre id=&quot;code_1688974267793&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# kubeadm 1.27.1-00 다운로드
$ apt-mark unhold kubeadm &amp;amp;&amp;amp; \
  apt-get update &amp;amp;&amp;amp; apt-get install -y kubeadm=1.27.1-00 &amp;amp;&amp;amp; \
  apt-mark hold kubeadm
...
The following packages will be upgraded:
  kubeadm
1 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.
Need to get 9928 kB of archives.
...

# 다운로드 하려는 버전이 잘 받아졌는지 확인
$ kubeadm version
kubeadm version: &amp;amp;version.Info{Major:&quot;1&quot;, Minor:&quot;27&quot;, GitVersion:&quot;v1.27.1&quot;, 
GitCommit:&quot;4c9411232e10168d7b050c49a1b59f6df9d7ea4b&quot;, GitTreeState:&quot;clean&quot;, 
BuildDate:&quot;2023-04-14T13:20:04Z&quot;, GoVersion:&quot;go1.20.3&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}

# 업그레이드 계획 확인
$ kubeadm upgrade plan v1.27.1
Components that must be upgraded manually after you have upgraded the control plane with 
'kubeadm upgrade apply':
COMPONENT   CURRENT       TARGET
kubelet     3 x v1.26.0   1.27.1

Upgrade to the latest version in the v1.26 series:

COMPONENT                 CURRENT   TARGET
kube-apiserver            v1.26.2   1.27.1
kube-controller-manager   v1.26.2   1.27.1
kube-scheduler            v1.26.2   1.27.1
kube-proxy                v1.26.2   1.27.1
CoreDNS                   v1.9.3    v1.10.1
etcd                      3.5.6-0   3.5.7-0

You can now apply the upgrade by executing the following command:

	kubeadm upgrade apply 1.27.1
_____________________________________________________________________

# 업그레이드 할 버전을 선택하여 명령을 실행
$ sudo kubeadm upgrade apply v1.27.1
...
[upgrade/staticpods] Preparing for &quot;etcd&quot; upgrade
[upgrade/staticpods] Renewing etcd-server certificate
[upgrade/staticpods] Renewing etcd-peer certificate
[upgrade/staticpods] Renewing etcd-healthcheck-client certificate
...
[upgrade/successful] SUCCESS! Your cluster was upgraded to &quot;v1.27.1&quot;. Enjoy!

[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets
if you haven't already done so.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 노드 드레인 : console이나 master에서 실행&lt;/p&gt;
&lt;pre id=&quot;code_1688975468032&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# unschedulable로 표시하고 워크로드를 제거하여 유지 관리를 위해 노드를 준비
$ kubectl drain hk8s-master --ignore-daemonsets
node/hk8s-master cordoned
Warning: ignoring DaemonSet-managed Pods: calico-system/calico-node-99wtw, calico-system/ ...
node/hk8s-master drained&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;※ drain 하던 과정에서 'exevicting pod calico-system/calico-typha-5d975894b7-7g9zm&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;error when evicting pods/&quot;calico-typha-5d975894b7-7g9zm&quot; -n &quot;calico-system&quot; (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.' 라는 에러가 발생하였다.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hk8s-master의 component.yaml 파일의 maxUnavailable 값을 0에서 1로 변경해주었더니 에러가 발생하지 않았다.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/projectcalico/calico/issues/4211&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/projectcalico/calico/issues/4211&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688978245252&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ~/component.yaml
...
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 1
...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. kubelet과 kubectl 업그레이드&lt;/p&gt;
&lt;pre id=&quot;code_1688978442347&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 컨트롤플레인에서  kublet과 kubectl을 업그레이드 한다.
$ apt-mark unhold kubelet kubectl &amp;amp;&amp;amp; \
  apt-get update &amp;amp;&amp;amp; apt-get install -y kubelet=1.27.1-00 kubectl=1.27.1-00 &amp;amp;&amp;amp; \
  apt-mark hold kubelet kubectl
...
The following packages will be upgraded:
  kubectl kubelet
2 upgraded, 0 newly installed, 0 to remove and 77 not upgraded.
...

# kubelet 다시 시작
$ sudo systemctl daemon-reload
$ sudo systemctl restart kubelet&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. 노드 uncordon&lt;/p&gt;
&lt;pre id=&quot;code_1688979021303&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# hk8s-master node의 Status와 version확인
$ kubectl get nodes
NAME           STATUS                     ROLES           AGE    VERSION
hk8s-master    Ready,SchedulingDisabled   control-plane   130d   v1.27.1
hk8s-worker1   Ready                      &amp;lt;none&amp;gt;          130d   v1.26.0
hk8s-worker2   NotReady                   &amp;lt;none&amp;gt;          130d   v1.26.0

# 노드를 스케줄 가능하도록 표시하여 다시 온라인 상태로 전환
$ kubectl uncordon hk8s-master
node/hk8s-master uncordoned
$ kubectl get nodes
NAME           STATUS     ROLES           AGE    VERSION
hk8s-master    Ready      control-plane   130d   v1.27.1
hk8s-worker1   Ready      &amp;lt;none&amp;gt;          130d   v1.26.0
hk8s-worker2   NotReady   &amp;lt;none&amp;gt;          130d   v1.26.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/274</guid>
      <comments>https://jfun.tistory.com/274#entry274comment</comments>
      <pubDate>Mon, 10 Jul 2023 17:51:07 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] ETCD Backup&amp;amp;Restore(2)</title>
      <link>https://jfun.tistory.com/273</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;문제1. ETCD Backup&amp;amp;Restore (k8s)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;https://127.0.0.1:2379에서 실행 중인 &lt;span style=&quot;color: #ee2323;&quot;&gt;etcd의 snapshot&lt;/span&gt;을 생성하고 snapshot을 &lt;span style=&quot;color: #ee2323;&quot;&gt;/data/etcd-snapshot.db&lt;/span&gt;에 저장한다.&lt;br /&gt;그런 다음 &lt;span style=&quot;color: #ee2323;&quot;&gt;/data/etcd-snapshot-previous.db&lt;/span&gt;에 있는 기존의 이전 스냅샷을 복원한다.&lt;br /&gt;etcdctl을 사용하여 서버에 연결하기 위해 다음 TLS 인증서/키가 제공된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CA certificate: /etc/kubernetes/pki/etcd/ca.crt&lt;/li&gt;
&lt;li&gt;Client certificate: /etc/kubernetes/pki/etcd/server.crt&lt;/li&gt;
&lt;li&gt;Client key: /etc/kubernetes/pki/etcd/server.key&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;https://127.0.0.1:2379에서 실행 중인&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;etcd의 snapshot&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;을 생성하고 snapshot을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;/data/etcd-snapshot.db&lt;/span&gt;에 저장한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688970053268&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ ssh k8s-master 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-60-generic x86_64)

$ sudo ETCDCTL_API=3 etcdctl \
  --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  snapshot save /data/etcd-snapshot.db
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.710+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:65&quot;,&quot;msg&quot;:&quot;created temporary db file&quot;,&quot;path&quot;:&quot;/data/etcd-snapshot.db.part&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.728+0900&quot;,&quot;logger&quot;:&quot;client&quot;,&quot;caller&quot;:&quot;v3@v3.5.7/maintenance.go:212&quot;,&quot;msg&quot;:&quot;opened snapshot stream; downloading&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.728+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:73&quot;,&quot;msg&quot;:&quot;fetching snapshot&quot;,&quot;endpoint&quot;:&quot;https://127.0.0.1:2379&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.869+0900&quot;,&quot;logger&quot;:&quot;client&quot;,&quot;caller&quot;:&quot;v3@v3.5.7/maintenance.go:220&quot;,&quot;msg&quot;:&quot;completed snapshot read; closing&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.882+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:88&quot;,&quot;msg&quot;:&quot;fetched snapshot&quot;,&quot;endpoint&quot;:&quot;https://127.0.0.1:2379&quot;,&quot;size&quot;:&quot;11 MB&quot;,&quot;took&quot;:&quot;now&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T15:17:38.882+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:97&quot;,&quot;msg&quot;:&quot;saved&quot;,&quot;path&quot;:&quot;/data/etcd-snapshot.db&quot;}
Snapshot saved at /data/etcd-snapshot.db

# 저장된 스냅샷 확인
$ sudo ls -l /data/etcd-snapshot.db
-rw------- 1 root root 10829856 Jul 10 15:17 /data/etcd-snapshot.db&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그런 다음&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;/data/etcd-snapshot-previous.db&lt;/span&gt;에 있는 기존의 이전 스냅샷을 복원한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688970382681&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 문제에서 별 말이 없었으므로 data-dir-location은 임의로 지정 (/var/lib/etcd-previous)
$ sudo ETCDCTL_API=3 etcdctl \
 --data-dir /var/lib/etcd-previous \
 snapshot restore /data/etcd-snapshot.db
 
2023-07-10T15:27:12+09:00	info	snapshot/v3_snapshot.go:248	restoring snapshot	{&quot;path&quot;: &quot;/data/etcd-snapshot.db&quot; ...
2023-07-10T15:27:12+09:00	info	membership/store.go:141	Trimming membership information from the backend...
2023-07-10T15:27:12+09:00	info	membership/cluster.go:421	added member	{&quot;cluster-id&quot;: &quot;cdf818194e3a8c32&quot;, ...
2023-07-10T15:27:12+09:00	info	snapshot/v3_snapshot.go:269	restored snapshot	{&quot;path&quot;: &quot;/data/etcd-snapshot.db&quot;,...

# 복원이 잘 되었는지 확인
$ sudo tree /var/lib/etcd-previous/
/var/lib/etcd-previous/
└── member
    ├── snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000001-0000000000000001.snap
    │&amp;nbsp;&amp;nbsp; └── db
    └── wal
        └── 0000000000000000-0000000000000000.wal

3 directories, 3 files

# etcd static pod data dir 수정
$ sudo vi /etc/kubernetes/manifests/etcd.yaml 
# /etc/kubernetes/manifests/etcd.yaml 
  volumes:
  - hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
  - hostPath:
      path: /var/lib/etcd-previous
      type: DirectoryOrCreate
    name: etcd-data
status: {}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/273</guid>
      <comments>https://jfun.tistory.com/273#entry273comment</comments>
      <pubDate>Mon, 10 Jul 2023 15:32:04 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] ETCD Backup&amp;amp;Restore(1)</title>
      <link>https://jfun.tistory.com/272</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;ETCD&amp;nbsp;Backup&amp;amp;Restore&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD를 호스팅 할 시스템에 ssh 로그인&lt;/li&gt;
&lt;li&gt;ETCD 툴의 설치 여부 확인&lt;/li&gt;
&lt;li&gt;ETCD 백업&lt;/li&gt;
&lt;li&gt;snapshot 파일을 이용해 복원했을 때 원래대로 복원되는지 확인하기 위해 현재 ETCD 상태를 수정&lt;/li&gt;
&lt;li&gt;ETCD 복원&lt;/li&gt;
&lt;li&gt;ETCD Pod에 복원된 etcd-data 위치를 적용하고 Pod 다시 시작&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD를 호스팅 할 시스템에 ssh 로그인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688963791231&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ kubectl config current-context 
k8s
$ ssh k8s-master 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-60-generic x86_64)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD 툴의 설치 여부 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688963828178&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ etcdctl version
etcdctl version: 3.5.7
API version: 3.5&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD 백업 (&lt;a href=&quot;https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688963899634&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# trusted-ca-file 검색
# trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
$ ps -ef | grep kube | grep trusted-ca-file
... --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt

# cert-file 검색
# cert-file=/etc/kubernetes/pki/etcd/server.crt
$ ps -ef | grep kube | grep cert-file
... --cert-file=/etc/kubernetes/pki/etcd/server.crt ...

# key-file 검색
# key-file=/etc/kubernetes/pki/etcd/server.key
$ ps -ef | grep kube | grep key-file
... --key-file=/etc/kubernetes/pki/etcd/server.key ...

# Snapshot using etcdctl options
$ sudo ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  snapshot save /tmp/etcd-backup
# 스냅샷 파일 안에 쿠버네티스 상태 정보 저장된다. (pods, deployments ...)
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.082+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:65&quot;,&quot;msg&quot;:&quot;created temporary db file&quot;,&quot;path&quot;:&quot;/tmp/etcd-backup.part&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.101+0900&quot;,&quot;logger&quot;:&quot;client&quot;,&quot;caller&quot;:&quot;v3@v3.5.7/maintenance.go:212&quot;,&quot;msg&quot;:&quot;opened snapshot stream; downloading&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.101+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:73&quot;,&quot;msg&quot;:&quot;fetching snapshot&quot;,&quot;endpoint&quot;:&quot;https://127.0.0.1:2379&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.267+0900&quot;,&quot;logger&quot;:&quot;client&quot;,&quot;caller&quot;:&quot;v3@v3.5.7/maintenance.go:220&quot;,&quot;msg&quot;:&quot;completed snapshot read; closing&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.283+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:88&quot;,&quot;msg&quot;:&quot;fetched snapshot&quot;,&quot;endpoint&quot;:&quot;https://127.0.0.1:2379&quot;,&quot;size&quot;:&quot;11 MB&quot;,&quot;took&quot;:&quot;now&quot;}
{&quot;level&quot;:&quot;info&quot;,&quot;ts&quot;:&quot;2023-07-10T14:12:12.284+0900&quot;,&quot;caller&quot;:&quot;snapshot/v3_snapshot.go:97&quot;,&quot;msg&quot;:&quot;saved&quot;,&quot;path&quot;:&quot;/tmp/etcd-backup&quot;}
Snapshot saved at /tmp/etcd-backup&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;snapshot 파일을 이용해 복원했을 때 원래대로 복원되는지 확인하기 위해 현재 ETCD 상태를 수정&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688966318633&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#deployments를 삭제하여 상태를 변경
$ kubectl get deployments.apps
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
front-end   2/2     2            2           130d
webui       3/3     3            3           130d
$ kubectl delete deployments.apps front-end
deployment.apps &quot;front-end&quot; deleted
$ kubectl get deployments.apps
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
webui   3/3     3            3           130d&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD 복원 (&lt;a href=&quot;https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688966601785&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 기존에 운영중인 공간(/var/lib/etcd)에는 이미 etcd가 작동하고 있기 때문에 
# 새로운 공간(/var/lib/etcd-new)에 restore 해줘야 한다.
$ sudo ETCDCTL_API=3 \
    etcdctl snapshot restore \
    --data-dir /var/lib/etcd-new /tmp/etcd-backup
    
# 데이터 저장소 확인
$ sudo ls /var/lib/etcd
member
$ sudo tree /var/lib/etcd
/var/lib/etcd
└── member
    ├── snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000008-0000000000033466.snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000008-0000000000035b77.snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000008-0000000000038288.snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000008-000000000003a999.snap
    │&amp;nbsp;&amp;nbsp; ├── 0000000000000008-000000000003d0aa.snap
    │&amp;nbsp;&amp;nbsp; └── db
    └── wal
        ├── 0.tmp
        ├── 0000000000000000-0000000000000000.wal
        ├── 0000000000000001-00000000000136d4.wal
        ├── 0000000000000002-0000000000027946.wal
        └── 0000000000000003-000000000003db25.wal

3 directories, 11 files&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ETCD Pod에 복원된 etcd-data 위치를 적용하고 Pod 다시 시작&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688967696451&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# etcd pod의 data 저장소를 /var/lib/etcd-new로 변경해서 다시실행
$ sudo vi /etc/kubernetes/manifests/etcd.yaml 

# 대문자 G를 입력하여 yaml파일 맨 뒤로 이동
# path를 etcd에서 etcd-new로 변경 후 저장(:wq)하면, 
# static pod는 kublet이라는 데몬이 자동으로 restart해준다.

# etcd.yaml
...
  volumes:
  - hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
  - hostPath:
      path: /var/lib/etcd-new
      type: DirectoryOrCreate
    name: etcd-data
status: {}

# 복원 확인
$ kubectl get deployments
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
front-end   2/2     2            2           130d
webui       3/3     3            3           130d&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/272</guid>
      <comments>https://jfun.tistory.com/272#entry272comment</comments>
      <pubDate>Mon, 10 Jul 2023 15:00:30 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] CKA 커리큘럼</title>
      <link>https://jfun.tistory.com/271</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;25% - Cluster Architecture, Installation &amp;amp; Configuration&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Manage role based access control (RBAC)&lt;/li&gt;
&lt;li&gt;Use Kubeadm to install a basic cluster&lt;/li&gt;
&lt;li&gt;Manage a highly-available Kubernetes cluster&lt;/li&gt;
&lt;li&gt;Provision underlying infrastructure to deploy a Kubernetes cluster&lt;/li&gt;
&lt;li&gt;Perform a version upgrade on a Kubernetes cluster using Kubeadm&lt;/li&gt;
&lt;li&gt;Implement etcd backup and restore&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;15% - Workloads &amp;amp; Scheduling&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Understand deployments and how to perform rolling update and rollbacks&lt;/li&gt;
&lt;li&gt;Use ConfigMaps and Secrets to configure applications&lt;/li&gt;
&lt;li&gt;Know how to scale applications&lt;/li&gt;
&lt;li&gt;Understand the primitives used to create robust, self-healing, application deployments&lt;/li&gt;
&lt;li&gt;Understand how resource limits can affect Pod scheduling&lt;/li&gt;
&lt;li&gt;Awareness of manifest management and common templating tools&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;20% - Services &amp;amp; Networking&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Understand host networking configuration on the cluster nodes&lt;/li&gt;
&lt;li&gt;Understand connectivity between Pods&lt;/li&gt;
&lt;li&gt;Understand ClusterIP, NodePort, LoadBalancer service types and endpoints&lt;/li&gt;
&lt;li&gt;Know how to use Ingress controllers and Ingress resources&lt;/li&gt;
&lt;li&gt;Know how to configure and use CoreDNS&lt;/li&gt;
&lt;li&gt;Choose an appropriate container network interface plugin&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;10% - Storage&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Understand storage classes, persistent volumes&lt;/li&gt;
&lt;li&gt;Understand volume mode, access modes and reclaim policies for volumes&lt;/li&gt;
&lt;li&gt;Understand persistent volume claims primitive&lt;/li&gt;
&lt;li&gt;Know how to configure applications with persistent storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;30% - Troubleshooting&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Evaluate cluster and node logging&lt;/li&gt;
&lt;li&gt;Understand how to monitor applications&lt;/li&gt;
&lt;li&gt;Manage container stdout &amp;amp; stderr logs&lt;/li&gt;
&lt;li&gt;Troubleshoot application failure&lt;/li&gt;
&lt;li&gt;Troubleshoot cluster component failure&lt;/li&gt;
&lt;li&gt;Troubleshoot networking&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/271</guid>
      <comments>https://jfun.tistory.com/271#entry271comment</comments>
      <pubDate>Mon, 10 Jul 2023 09:24:10 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] 실습 환경 확인</title>
      <link>https://jfun.tistory.com/270</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;문제1. 쿠버네티스 클러스터 정보 보기&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;console에 계정으로 로그인 한 후 hk8s 클러스터로 이동하시오.&lt;/li&gt;
&lt;li&gt;hk8s 클러스터의 control-plane, worker node의 이름을 찾아서 ~/hk8s-node-info.txt 파일로 저장하시오.&lt;/li&gt;
&lt;li&gt;hk8s 클러스터에서 ready인 노드의 이름만 추출하여 ~/hk8s-node-ready.txt 파일에 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;console에 계정으로 로그인 한 후 hk8s 클러스터로 이동하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688944794420&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 현재 클러스터 위치 확인
$ kubectl config current-context 
k8s

# hk8s의 클러스터로 변경후 확인해준다.
$ kubectl config use-context hk8s 
Switched to context &quot;hk8s&quot;.
$ kubectl config current-context 
hk8s&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hk8s 클러스터의 control-plane, worker node의 이름을 찾아서 ~/hk8s-node-info.txt 파일로 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688945182731&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# node 정보 확인
$ kubectl get nodes
NAME          STATUS   ROLES           AGE    VERSION
k8s-master    Ready    control-plane   137d   v1.26.0
k8s-worker1   Ready    &amp;lt;none&amp;gt;          137d   v1.26.0
k8s-worker2   Ready    &amp;lt;none&amp;gt;          137d   v1.26.0

# 첫번째 필드만 필터링
$ kubectl get nodes | cut -d' ' -f1
NAME
hk8s-master
hk8s-worker1
hk8s-worker2

# 출력 결과에서 NAME을 제거
$ kubectl get nodes | cut -d' ' -f1 | grep -v NAME
hk8s-master
hk8s-worker1
hk8s-worker2

# 출력 결과 '~/hk8s-node-info.txt'에 저장 및 확인
$ kubectl get nodes | cut -d' ' -f1 | grep -v NAME &amp;gt; ~/hk8s-node-info.txt
$ cat ~/hk8s-node-info.txt 
hk8s-master
hk8s-worker1
hk8s-worker2&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hk8s 클러스터에서 ready인 노드의 이름만 추출하여 ~/hk8s-node-ready.txt 파일에 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688945858939&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# word가 ready인 것만 출력
$ kubectl get nodes | grep -i -w ready
hk8s-master    Ready      control-plane   130d   v1.26.0
hk8s-worker1   Ready      &amp;lt;none&amp;gt;          130d   v1.26.0

# 첫번째 필드만 출력
$ kubectl get nodes | grep -i -w ready | cut -d' ' -f1
hk8s-master
hk8s-worker1

# 저장 및 확인
$ kubectl get nodes | grep -i -w ready | cut -d' ' -f1 &amp;gt; ~/hk8s-node-ready.txt
$ cat ~/hk8s-node-ready.txt 
hk8s-master
hk8s-worker1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;문제2. 멀티 클러스터 정보 보기&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;k8s 클러스터로 이동하시오.&lt;/li&gt;
&lt;li&gt;k8s 클러스터 상태를 확인하시오.&lt;/li&gt;
&lt;li&gt;k8s 클러스터에서 동작중인 모든 CNI 이름을 ~/k8s_cni_name.txt에 저장하시오.&lt;/li&gt;
&lt;li&gt;k8s 클러스터에서 ready 상태 인 노드 이름을 추출하여 ~/k8s-node-ready.txt에 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;Solution&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;k8s 클러스터로 이동하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688946515787&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# k8s 클러스터로 이동 및 확인
$ kubectl config use-context k8s 
Switched to context &quot;k8s&quot;.
$ kubectl config current-context 
k8s&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;k8s 클러스터 상태를 확인하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688946770150&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# k8s 클러스터 상태정보 확인
$ kubectl cluster-info
Kubernetes control plane is running at https://10.0.2.10:6443
CoreDNS is running at https://10.0.2.10:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;k8s 클러스터에서 동작중인 모든 CNI 이름을 ~/k8s_cni_name.txt에 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688947182128&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 해당 master 위치로 이동
$ ssh k8s-master 
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-60-generic x86_64)

# 사용중인 CNI 확인 방법1
# calico라는 것을 확인할 수 있다.
$ ls /etc/cni/net.d/
10-calico.conflist  calico-kubeconfig

# 사용중인 CNI 확인 방법2
$ ps -ef | grep cni
root        3529    2830  0 Jul09 ?        00:00:00 runsv cni
root        3694    3661  0 Jul09 ?        00:00:00 svlogd -ttt /var/log/calico/cni
root      404182  402203  0 08:58 pts/1    00:00:00 grep --color=auto cni

# yaml 파일을 뒤져보는 등의 다양한 방법들이 있음

# k8s master에서 나와 '~/k8s_cni_name.txt'에 저장 및 확인
$ exit
logout
Connection to k8s-master closed.
$ echo &quot;calico&quot; &amp;gt; ~/k8s_cni_name.txt
$ cat ~/k8s_cni_name.txt 
calico&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;k8s 클러스터에서 ready 상태 인 노드 이름을 추출하여 ~/k8s-node-ready.txt에 저장하시오.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1688947376852&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 1번 문제와 동일
$ kubectl get nodes | grep -i -w ready | cut -d' ' -f1 &amp;gt; ~/k8s-node-ready.txt
$ cat ~/k8s-node-ready.txt 
k8s-master
k8s-worker1
k8s-worker2&lt;/code&gt;&lt;/pre&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/270</guid>
      <comments>https://jfun.tistory.com/270#entry270comment</comments>
      <pubDate>Mon, 10 Jul 2023 09:09:23 +0900</pubDate>
    </item>
    <item>
      <title>[k8s] 커맨드 자동완성 기능</title>
      <link>https://jfun.tistory.com/269</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;kubectl Cheat Sheet(&lt;a href=&quot;https://kubernetes.io/docs/reference/kubectl/cheatsheet/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://kubernetes.io/docs/reference/kubectl/cheatsheet/&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kubectl 명령어 구조는 다음과 같으며, 세부적인 기능은 --help 기능을 이용해 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-07-10 오전 7.58.43.png&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dBhBOq/btsmRqJ4MZP/mmUtFu54YSLa4Cz2rYHGKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dBhBOq/btsmRqJ4MZP/mmUtFu54YSLa4Cz2rYHGKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dBhBOq/btsmRqJ4MZP/mmUtFu54YSLa4Cz2rYHGKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdBhBOq%2FbtsmRqJ4MZP%2FmmUtFu54YSLa4Cz2rYHGKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;410&quot; height=&quot;152&quot; data-filename=&quot;스크린샷 2023-07-10 오전 7.58.43.png&quot; data-origin-width=&quot;1704&quot; data-origin-height=&quot;632&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어의 요소들을 모두 정확하게 외우고 있기는 어렵기 때문에 자동완성 기능을 이용하면 정확하고 빠르게 명령어를 입력할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스에 커맨드 자동완성 기능이 없을 경우 bash shell에 다음 명령어를 입력하면 자동완성 기능을 사용할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1688941846838&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;source &amp;lt;(kubectl completion bash)
echo &quot;source &amp;lt;(kubectl completion bash)&quot; &amp;gt;&amp;gt; ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추가로 다음 명령어를 통해 kubectl을 k만을 입력하여 실행시킬수 있다. (ex. k get nodes)&lt;/p&gt;
&lt;pre id=&quot;code_1688942865863&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;alias k=kubectl
complete -o default -F __start_kubectl k&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>junior/Kubernetes</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/269</guid>
      <comments>https://jfun.tistory.com/269#entry269comment</comments>
      <pubDate>Mon, 10 Jul 2023 07:48:49 +0900</pubDate>
    </item>
    <item>
      <title>2. 추천 시스템 프로젝트</title>
      <link>https://jfun.tistory.com/267</link>
      <description>&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;추천 시스템 개발에 필요한 3가지 스킬&lt;/li&gt;
&lt;li&gt;추천 시스템 프로젝트 진행 방법&lt;/li&gt;
&lt;li&gt;정리&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 추천 시스템 개발에 필요한 3가지 스킬&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;비즈니스 문제 해결 능력&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비즈니스 관점에서 추천 시스템을 도입함으로써 무엇을 기대할 수 있는지 정의!
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;경우에 따라서는 추천 시스템이 필요하지 않거나 인기순 추천만으로 충분&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;사용자의 어떤 행동 변화를 기대하는가에 관한 Key Goal Indicator(KGI) 또는 Key Performance Indicator(KPI) 책정이 매우 중요
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 사용자의 행동을 최대화하고 싶은지에 따라 구현할 추천 시스템이 달라지기 때문에 대상 시스템에 관해 숙지하고 서비스상에서의 사용자 행동에 관해 깊이 이해해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 사이언스 능력&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;비즈니스 목표 달성을 위한 이상적인 추천 시스템을 실제로 구현하는 능력&lt;/li&gt;
&lt;li&gt;요구되는 데이터 사이언스 능력은 다루는 데이터의 양과 종류, 비즈니스에 필요한 추천 시스템의 구현 복잡도에 따라 다름&lt;/li&gt;
&lt;li&gt;전통적인 방법을 사용해 얼마만큼의 정확도가 나오는지 확인하고 이상과 현실의 차이가 너무 크지 않은지 검토하여, 적정 비즈니스 관련 부서와 커뮤니케이션 하는 것이 중요&lt;/li&gt;
&lt;li&gt;시행 착오 과정에서 데이터의 성질이나 각 추천 알고리즘의 장단점을 파악하는 것이 중요&lt;/li&gt;
&lt;li&gt;추천 알고리즘에 관한 논문을 조사하거나 자사 데이터에 적용할 수 있도록 수식이나 코드를 개선하는 고급 능력도 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 엔지니어링 능력&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 시스템을 실제 서비스에 조합할 때는 다양한 비즈니스 요건을 고려해 구현하고 시스템을 안정적으로 가동시켜야 한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시간 문제 : 처리를 병렬화 하거나 데이터베이스 설계, 튜닝 등&lt;/li&gt;
&lt;li&gt;데이터를 가공하고 추천 목록 작성 연산을 수행하며 데이터베이스에 저장하는 파이프라인을 조정해야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 추천 시스템 프로젝트 진행 방법&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.1 과제 정의&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시스템을 도입하고 싶을 때는 먼저 &amp;lsquo;매출을 2배로 올리고 싶다&amp;rsquo;, &amp;lsquo;회원 등록을 2배로 늘리고 싶다&amp;rsquo;와 같이 비즈니스상의 목적(KPI)을 명확히&lt;/li&gt;
&lt;li&gt;KPI와 현재와의 차이를 확인한 뒤 현재 자사 사이트의 과제를 정리하고 적절한 조치를 검토하여 과제 정확도를 높임
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정량적 분석 : ex. 웹 사이트 사용자의 행동 로그 데이터 분석을 통해 사용자의 상태 파악&lt;/li&gt;
&lt;li&gt;정성적 분석 : ex. 왜 사용자가 해당 상태인지 데이터로 조사하는 것보다 직접 사용자에게 물어 시사점 파악&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;비즈니스 목표를 달성하기 위한 과제의 중요도 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.2 가설 수립&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과제 해결 방법과 그것을 실현하기 위한 비용을 검토하여 Return On Investment(비용대비효과, ROI)가 높은 이니셔티브부터 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과제를 대응책, 중요도와 비용으로 나열하여 우선순위 판단&lt;/li&gt;
&lt;li&gt;추천 시스템 대신 비용 대비 효과가 높은 경우가 많은 검색 시스템 기능이나 UI를 개선 하는 방향도 검토&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.3 데이터 설계/수집/가공&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자사 서비스가 어떤 데이터를 갖고 있는지 정리하고 그 데이터로 추천 시스템을 구축할 수 있는지 검토
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특히 서비스 초기 단계에서는 사용자와 아이템의 인터렉션 데이터가 없는 경우가 많으므로 우선 아이템 정보를 사용한 추천 시스템 구축부터 검토해야 할 때가 많음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.4 알고리즘 선정&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;알고리즘 계산 시간, 필요한 데이터, 요구되는 예측 정확도 등 다양한 관점에서 비즈니스 목표에 적합한 것을 선택&lt;/li&gt;
&lt;li&gt;서비스 초기에는 먼저 간단한 알고리즘부터 구현할 것. 추후 비용을 들여 정확도를 올릴 것&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.5 학습/파라미터 튜닝&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온라인에서 추천 시스템의 정확도를 검증할 때는 Recall, Precision과 같은 머신러닝 지표도 중요하지만 구체적으로 이 아이템을 넣으면 어떤 아이템이 나오는지 확인하고 그 결과가 납득되는지 확인해야 함&lt;/li&gt;
&lt;li&gt;개발자가 비즈니스 관련 부서와 의논할 때 추천 결과의 구체적인 사례를 제시하면 이미지를 떠올리기 쉬워 원만하게 커뮤니케이션을 할 수 있음&lt;/li&gt;
&lt;li&gt;데이터 편향을 제거 후 추천 시스템을 만들어 평가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;별 개수가 5개인 이유는 호감을 가진 사람이 주로 평가하는 경향&lt;/li&gt;
&lt;li&gt;검색엔진의 영향을 받아 검색 결과 상위에 나타나는 것을 주로 클릭하기 때문에 해당 자료가 잘 추천 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.6 시스템 구현&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배치 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정해진 시점에 해당 시점의 정보를 기반으로 추천 목록을 업데이트하여 사용자에게 제공하는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;실시간 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 직전 행동 이력을 즉시 반영해 추천 목록을 만드는 것&lt;/li&gt;
&lt;li&gt;데이터의 동기화나 실시간 연산 등 엔지니어링 기술이 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.7 평가 및 개선&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 기능을 출시하고 그것이 실제로 효과가 있는지 검증&lt;/li&gt;
&lt;li&gt;구입 금액이나 체류 시간을 검증 : A/B 테스트로 일부 사용자에게만 추천 기능을 제공해 추천했을 때와 그렇지 않을 때 비교검증&lt;/li&gt;
&lt;li&gt;추천 시스템 도입 후 추천을 통한 매출이 발생해도 그것을 성공이라고 간주하기는 아직 이름
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천을 통한 매출이 증가해도 검색을 통한 매출이 감소하여 전체 매출이 감소한건 아닌지 같이 시스템 전체를 보고 확인하는 것이 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 정리&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트를 진행할 때 비즈니스 목표를 결정하고 데이터와 사용자 조사를 통해 현재 상태의 과제 정확도를 높이며 비용 대비 효과가 높은 이니셔티브를 수행하는 것이 가장 중요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처 : Oreilly 추천 시스템 입문&lt;/p&gt;</description>
      <category>junior/Recommender System</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/267</guid>
      <comments>https://jfun.tistory.com/267#entry267comment</comments>
      <pubDate>Mon, 29 May 2023 17:50:02 +0900</pubDate>
    </item>
    <item>
      <title>[강연정리] 쿠팡 추천 시스템 2년간의 변천사(1)</title>
      <link>https://jfun.tistory.com/266</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://tv.naver.com/v/11212875&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://tv.naver.com/v/11212875&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;I. 쿠팡 추천 플랫폼의 변화&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;쿠팡 추천 팀이 하는 일&lt;/li&gt;
&lt;li&gt;과거, 추천 모델 중심의 플랫폼&lt;/li&gt;
&lt;li&gt;현재, 서비스와 모델을 분리하는 플랫폼&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;II. 더 나은 추천을 위해&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Learning to Rank&lt;/li&gt;
&lt;li&gt;실시간 개인화&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;III. 요약&amp;amp;팁&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;I. 쿠팡 추천 플랫폼의 변화&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 쿠팡 추천 팀이 하는 일&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거 상품 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Item을 input으로 받아 item을 output으로 출력 (item-item)&lt;/li&gt;
&lt;li&gt;e-commerce는 대표적으로 함께 본 상품과(대체재) 함께 산 상품(보완재)이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;하고 싶었던 것 :
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;특정 상품을 컨텍스트로 하지 않는 유저, 카테고리, 시간을 컨텍스트 또는 복합적 컨텍스트로 하는 추천&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;example
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나를 위한 개인화 추천 (user - item)&lt;/li&gt;
&lt;li&gt;오늘의 쇼핑 제안 (time - item)&lt;/li&gt;
&lt;li&gt;요즘 인기있는 상품들&lt;/li&gt;
&lt;li&gt;나를 위한 할인 상품들&lt;/li&gt;
&lt;li&gt;특정 카테고리에서 내가 자주 산 상품 (category - item)&lt;/li&gt;
&lt;li&gt;특정 카테고리에서 요즘 인기있는 상품&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;복합적 컨텍스트의 경우 다양한 Weight를 통해 서비스를 다양화&lt;/li&gt;
&lt;li&gt;실제 서비스를 운영할 때 좋지 않은 퀄리티의 상품이나 좋은 방향을 위해 필터를 걸도록&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;아이템 뿐만 아니라 고객별로 추천영역이나 UI도 개인화 추천 할 수 있다고 생각&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;할인 제품을 좋아하는 고객에게는 할인 추천 영역을 제공&lt;/li&gt;
&lt;li&gt;트렌디한 패션 상품을 좋아하는 고객에게는 최신 인기 패션 추천 영역 제공&lt;/li&gt;
&lt;li&gt;빨간색을 좋아하는 유저에게는 빨간색을 입힌 UI를 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Cart에서는 유저들이 더 빠른 결정을 돕기 위한 추천
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;함께 구매하면 좋을 상품, 무료배송 추천 상품&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 과거, 추천 모델 중심의 플랫폼&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상품 추천을 위주로 할때는 추천 모델 중심의 플랫폼이었다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;item-item의 관계를 찾는게 중요했었고, 이 관계는 그대로 서비스로 나가게 되었다.&lt;/li&gt;
&lt;li&gt;그렇기 때문에 모델과 서비스는 강한 연결관계를 가지고 있었고, 모델은 꽤나 복잡하게 만들어지게 된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.1 아키텍처&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상품정보, 유저정보, 유저로그를 이용해 복잡한 테이블들(후보 상품들, 필터 적용, 임베딩)이 나오게 되고, 이 테이블들을 이용해 모델링을 하여 결과(item-item의 score)가 출력된다. 해당 결과가 그대로 서비스로 나가게 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;서버
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서버쪽 아키텍처는 단순&lt;/li&gt;
&lt;li&gt;모델 파이프라인의 결과가 추천 서비스 전체를 결정했기 때문에, 서버는 어떤 product id에 대해 다른 product id를 점수 순서대로 key-value storage를 lookup하는 것으로 충분했다.&lt;/li&gt;
&lt;li&gt;컨텍스트는 item밖에 없었기 때문에 key는 선형적으로 증가하였고 별 무리 없이 낮은 latency를 유지할 수 있었다.&lt;/li&gt;
&lt;li&gt;서버 api를 이용해 필터 및 세부조정을 할 수 있었지만, 추천 랭킹 측면에서 할 수 있는 기능은 별로 없었다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.2 단점/한계&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 변경에 따라 길어지는 파이프라인 (필터, 부스팅, ..)&lt;/li&gt;
&lt;li&gt;추가 요청사항을 처리하기 어려움&lt;/li&gt;
&lt;li&gt;완성 전가지 결과를 알 수 없음&lt;/li&gt;
&lt;li&gt;개발에 시간이 오래 걸림&lt;/li&gt;
&lt;li&gt;점진적인 개선이 힘들다. 새로운 컨텍스트나 weight를 시도할때마다 전체적인 파이프 라인을 새롭게 만들어야해. 기존의 모델은 재사용할 필요없이 버려져&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2.3 목표&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 모델은 서비스의 흥망과 상관없이 계속해서 발전 할 수 있다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 모델과 서비스를 분리시킬 것&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;서비스는 모델작업과 별개로 이슈에 대응
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상품 정보나 유저 정보를 서빙 중에 접근 가능할 것&lt;/li&gt;
&lt;li&gt;필터, 부스팅 등의 변경이 쉽고 빠를것&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 현재, 서비스와 모델을 분리하는 플랫폼&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.1 검색과 추천&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;플랫폼에 &lt;b&gt;검색엔진&lt;/b&gt;을 사용검색 자연어 키워드 매칭 관련도
&lt;table style=&quot;border-collapse: collapse; width: 51.2077%; height: 58px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 25px;&quot;&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;검색&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;자연어&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;키워드 매칭&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;관련도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 25px;&quot;&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;추천&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;상품/유저&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;모델 결과&lt;/td&gt;
&lt;td style=&quot;height: 25px;&quot;&gt;모델 스코어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/li&gt;
&lt;li&gt;자연어를 쿼리로 받아 키워드 매칭을 통해 관련 문서를 찾고 관련도에 따라 랭킹을 구하는 것처럼, 추천은 상품이나 유저를 쿼리로 받아 추천모델이 알려주는 관계를 토대로 관련된 상품을 찾고 모델과 기타 정보들을 이용해 랭킹을 구한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.2 중앙화 된 상품 정보&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색과 추천 데이터 중앙화&lt;/li&gt;
&lt;li&gt;상품을 잘 표현할 수 있는 피쳐를 생성(Spark, Hive, TF 사용) &amp;rArr; HBase에 저장&lt;/li&gt;
&lt;li&gt;검색과 추천팀은 protocol과 buffer로 각자 관리하는 데이터를 저장 (서로 다른 인덱싱)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.3 Feature&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;연관성 피처&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;상품 자체 피처&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;- 추천 모델 결과&lt;br /&gt;&lt;span&gt;- 이미지 유사도&lt;br /&gt;- 카테고리 관련성 &lt;br /&gt;&amp;hellip;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%;&quot;&gt;- 카테고리&lt;br /&gt;- 상품평&lt;br /&gt;- 가격&lt;br /&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.4 인덱싱&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 상품에 검색 되어야 하는지? 페이로드로 리버스 인덱싱&lt;/li&gt;
&lt;li&gt;필터나 부스팅에 따라 인덱싱 (category, is_adult, is_rocket)&lt;/li&gt;
&lt;li&gt;서빙 중 상품에 대한 정보를 필요로 할때가 있다. key-value 형태로 protocol buffer로 꺼내올수 있는 인메모리 형태의 작은 스토리지도 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfMFYy/btshMWlMUWO/BfI85mP8oM3kn2nDt05ieK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfMFYy/btshMWlMUWO/BfI85mP8oM3kn2nDt05ieK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfMFYy/btshMWlMUWO/BfI85mP8oM3kn2nDt05ieK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfMFYy%2FbtshMWlMUWO%2FBfI85mP8oM3kn2nDt05ieK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;585&quot; height=&quot;346&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.5 Search Cluster&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컨텍스트와 관련된 상품을 찾고 (Query Handler Cluster에서 컨텍스트를 정렬 해서 넘겨줌)&lt;/li&gt;
&lt;li&gt;조건에 따라 필터 한 다음&lt;/li&gt;
&lt;li&gt;점수에 따라 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.6 Query Handler Cluster&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 정의
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ex) 냄비와 함께 살 할인 식품
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Query: bought_together 냄비&lt;/li&gt;
&lt;li&gt;Filter: category 식품&lt;/li&gt;
&lt;li&gt;Boost: discount_rage&lt;/li&gt;
&lt;li&gt;추가 정렬 : 고기, 생선, 야채를 번갈아 보여주자&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;빠른 서비스 개발 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;피처 조합과 가중치에 따라 새로운 서비스&lt;/li&gt;
&lt;li&gt;필터로 새로운 추천 서비스를 만들수 있음 ( ex. 요즘 인기있는 xxx)&lt;/li&gt;
&lt;li&gt;검색 결과를 필요에 따라 새롭게 정렬할 수 있음. ( ex. Round Robin)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.7 모델과 서비스의 분리&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 개발, 피처생성 : 모델은 좋은 피처를 만들기 위해 노력
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;카테고리 모델 개발&lt;/li&gt;
&lt;li&gt;함께 구매 할 만한 가격대 분포 계산&lt;/li&gt;
&lt;li&gt;이전 AB테스트 반영하여 새 피처 개발&lt;/li&gt;
&lt;li&gt;만들어진 피처는 다른 서비스에도 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;서비스 정의 : 서비스는 있는 피처들을 어떻게 쓸지 고민
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;함께 산 상품 데이터 사용&lt;/li&gt;
&lt;li&gt;매뉴얼 카테고리 맵(주방용품 &amp;rarr; 식자재)&lt;/li&gt;
&lt;/ul&gt;
&amp;rarr; AB테스트 시작
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지속적인 쿼리 튜닝&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.8 변화&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 영역 수 7배 증가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;추천 노출/클릭/구매 굉장한 증가&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;빠른 서비스 개발&lt;/li&gt;
&lt;li&gt;비지니스 상황에 대한 빠른 대처&lt;/li&gt;
&lt;li&gt;피처의 다양한 방면으로의 활용&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>junior/Recommender System</category>
      <author>johh</author>
      <guid isPermaLink="true">https://jfun.tistory.com/266</guid>
      <comments>https://jfun.tistory.com/266#entry266comment</comments>
      <pubDate>Mon, 29 May 2023 11:23:15 +0900</pubDate>
    </item>
  </channel>
</rss>