Contents
Point-of-interest (POI)는 장소를 추천하는 Task라고 볼 수 있다. 기존 POI 연구에서는 대부분 User와 Location을 따로 분리하여 모델링하고 있으며, 사용자의 장소에 대한 시공간적 수용(Acceptance) 범위를 무시하고 있다. 본 연구에서는 이와 같은 문제를 해결하고자, Knowledge Graph with Temporal information (TKG)를 구성하여 Timestamp와 User, Location을 함께 고려하고자 TKG를 기반으로 한 Spatial-Temporal Graph Convolutional Attention Network (STGCAN) 기법을 제안한다.
Introduction
POI Recommendation은 사용자가 선호할 만한 장소를 추천하는 것에 초점을 두고 있다. 이는, Location-based Social Networks (LBSNs)에서 중요한 역할을 수행하고 있다. 본 연구에서는 real life에서 다음과 같은 것들을 확인하였다. 1) Personal Preference: 같은 장소라도, 개인의 선호에 따라 다른 장소로 간주할 수 있다. Figure 1을 살펴보면 User A는 카페를 Dining Place로 이용하고 있으나, User B는 12:00시에 Social Place로 이용하였다. 2) Dynamic preference: 같은 장소라도 시간에 따라 다른 장소로 간주될 수 있다. User B는 12:00시에는 카페를 Social Place로 사용하였으나, 17:00시에는 Dining Place로 사용하였다. 3) Personal acceptance to distance/time: Figure 3을 보면 Location


기존 연구는 대부분 User와 Location을 따로 분리하여 Sequence를 학습하였기 때문에 Dynamic Preference를 제대로 학습하지 못한다. 또한, 위치에 대한 시간적, 거리적 수용범위를 고려하지 않고 있다. 따라서, 본 연구에서는 위와 같은 문제를 해결하기 위해 Temporal Information을 고려한 Knowledge Graph (TKG)를 사용한 Spatial-Temporal Graph Convolutional Attention Network (STGCAN) 기법을 제안하였다.
Problem Description
본 연구에서는 시간적 공간적 수용 범위를 고려하기 이해 Receptive Field를 도입하는데 사용자와 장소에 대한 Receptive Field는
Methodology
STGCAN 기법은 총 4 단계로 구성되어 있다. 1) Embedding Layer, 2) User Neighbour Aggregation Layer, 3) Location Neighbour Aggregation Layer, 4) Spatial-Temporal Interval Aware Attention Layer.
Embedding Layer
History Visit Sequence
Neighbour Aggregation Layer
이번 단계는 Neighbour 정보를 Aggregation해서 Embedding을 업데이트하는 단계다. 본 연구에서는 TKG 를 사용하기 때문에 Triple이 아닌 Quadruple
그런 다음, Target User에 대한 K Neighbour Entities의 관련성을 구별하기 위해 Relation
위 과정을 통해 각 Depth

Location Neighbour Aggregation Layer
위에서는 User-Receptive-Field를 생성하여 User Neighbour Aggregation을 수행하였다면, 이번 단계는 Location에 대한 Neighbour Aggregation을 수행하는 단계다. User Neighbour 을 구하는 단계에서는 Location Entity는 고정인 상태에서 시점이 바뀔 때 User Neighbour Entity를 Aggregation 했다면, Location Neighbour에서는 User와 Location 둘다 변화한다. 구체적으로, Location의 이웃을 구할 때에는 사용자와 그 사용자의 과거 기록에 의해 결정되기 때문에, 특정 사용자로부터 다양한 Location 이웃을 가지게 된다.
이를 수식으로 표현하면
위 과정을 수행하면, 특정 사용자
이와 같은 수식을 사용하는 이유는 두 Location 간의 하버사인 거리(Haversine Distance)를 구하기 위함이다. 위 수식을 계산한 후 아래의 수식을 통해 최종 임베딩 벡터를 생성한다.

Spatial-Temporal Interval Aware Attention Layer
이번 단계는 Neighbour Aggregation 후, 공간적 거리와 시간 간격을 측정하고, 가중치를 Representation에 할당해 최종 Representation을 도출하는 단계다. Spatial Distance를
이때
Neural Network Training
본 연구에서는 Cross-Entropy Loss 를 사용하였으며, 최종 Loss Function은 아래와 같이 정의된다.
이때

Experiments
본 연구에서는 NYC, TKY, Gowalla와 같은 POI Recommendation Task에서 주로 사용하는 데이터를 통해 실험을 진행하였으며, BPR-MF, PRME, TransRec, DeepMove, KGCN, TiSASRec, GeoSAN, STAN, CyGNet 등과 같은 POI Recommendation을 위한 SoTA 모델을 베이스라인으로 사용하였다. 실험에서 특이한 점은
실험은 총 4가지로 구성하였다. 1) Comparison Performance 2) Impact of Embedding Dimension 3) Impace of Depth of receptive field 4) Impact of neighbour entity size. Comparison Performance는 Table 2, Figure 6과 같이 베이스라인 모델과 비교했을 때의 STGCAN 기법의 성능에 대한 결과를 나타낸다. Impact of * 는 각각에 대한 영향이 어느정도인지 확인하는 실험이다. Figure 7, Table 3, Table 4를 통해 확인할 수 있다.



