KR101859845B1 - Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization - Google Patents

Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization Download PDF

Info

Publication number
KR101859845B1
KR101859845B1 KR1020160156352A KR20160156352A KR101859845B1 KR 101859845 B1 KR101859845 B1 KR 101859845B1 KR 1020160156352 A KR1020160156352 A KR 1020160156352A KR 20160156352 A KR20160156352 A KR 20160156352A KR 101859845 B1 KR101859845 B1 KR 101859845B1
Authority
KR
South Korea
Prior art keywords
information
user
tensor
social network
friend
Prior art date
Application number
KR1020160156352A
Other languages
Korean (ko)
Inventor
현순주
김태훈
김경민
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020160156352A priority Critical patent/KR101859845B1/en
Application granted granted Critical
Publication of KR101859845B1 publication Critical patent/KR101859845B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral agent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

The present invention provides an offline friend recommendation method using mobile context and tensor factorization based on online friend network information and a system thereof. A social network service method comprises: a step of receiving offline context of a plurality of users using a social network service and evaluation result information for recommended friends to undergo a parsing process to store the offline context and the evaluation result information in a database by a preprocessor; a step of collecting and standardizing friend relationship information of the plurality of users to store the friend relationship information in the database; a step of using information stored in the database to convert the information into a format of input information used in a tensor and a matrix by a data converter; a step of simultaneously factorizing and recoupling a tensor and a matrix by a recommendation engine; and a step of using a recoupled tensor to generate a recommendation friend list for each user by a friend list generation unit.

Description

모바일 상황정보와 온라인 친구네트워크정보 기반 텐서 분해를 통한 오프라인 친구 추천 기법{Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an offline friend recommendation method based on mobile situation information and an online friend network based on tensor decomposition,

본 발명은 모바일 상황정보와 온라인 친구네트워크정보 기반 텐서 분해를 통한 오프라인 친구 추천 방법 및 시스템에 관한 것이다. 더욱 상세하게는 생활패턴이 비슷하면서 연결 가능성이 높은 사람들을 추천하기 위해 사용자의 단말과 각 장소에 설치한 비컨(Beacon) 단말을 통해 수집된 장소 방문 기록 정보와 소셜 네트워크에서 사용자들의 기 형성된 친구 관계 네트워크 정보를 결합 행렬(coupled matrix) 및 텐서 분해(tensor factorization) 기법에 적용한 친구 추천 알고리즘에 관한 것이다.The present invention relates to a method and system for offline friend recommendation through mobile situation information and online friend network information-based tensor decomposition. More specifically, in order to recommend people who have similar life patterns and are likely to connect to each other, it is possible to use the place visit record information collected through the user's terminal and the beacon terminal installed at each place, To a friend recommendation algorithm in which network information is applied to a coupled matrix and a tensor factorization technique.

온라인 소셜 네트워크 서비스(Online Social Network Service; OSNS)의 확산과 스마트 모바일 기기들의 대중화로 인해 사용자들은 언제 어디서든 쉽게 주변인뿐만 아니라 전 세계 사람들과 사회적 상호작용을 통해 네트워크 형성을 할 수 있게 되었다. 하지만 역설적으로 이러한 기술은 OSNS에 과몰입된 사용자들의 경우, 수많은 면대면 상호작용을 통해 시행착오를 거치면서 형성되는 인간관계 형성의 과정을 건너뛰게 되어 현실 사회에서의 대인관계 형성 기술 발달 및 유지에 어려움을 겪게 만들었다. 오늘날 사람들의 대인관계 형성, 유지 및 확장의 기회를 제공하기 위한 방안으로써 "친구 추천" 연구가 활발히 연구되고 있다. 친구 추천 연구는 온라인 데이터(예를 들어, 친구관계 정보, 관심사 및 웹 방문 기록 등) 기반 추천 방식과 오프라인 데이터(예를 들어, GPS 로그(log), 블루투스 로그(Bluetooth log) 등) 기반 추천 방식으로 나뉘며 두 방식 모두 사용자와 유사한 성향, 높은 관계성 또는 비슷한 생활패턴을 갖는 사람을 친구로서 추천한다. 온라인 데이터 기반 친구추천 방식은 시간과 공간의 제약 없이 먼 거리에 있는 사람과 언제든지 사회적 관계를 형성할 수 있게 하지만 페이스-투-페이스(Face-to-Face; F2F) 상호 작용(Interaction)의 기회 부재로 인해 서로에 대해 깊이 알고 이해하며 소통하는 과정을 생략하여 현실 사회에서의 대인관계 형성 기술 발달 및 유지에 도움이 되지 않는다. 오프라인 데이터 기반 친구추천 방식은 사용자의 모바일 기기 센서로부터 수집된 상황정보를 기반으로 사용자의 주변 활동 공간에 초점이 맞추어져 있기 때문에 F2F 상호 작용 기회를 직접적으로 높일 수 있는 친구를 추천한다. 이것은 대인 관계에 관한 기술 발달 및 사회화, 상호간의 깊은 이해 및 긍정적인 감정 형성을 통한 강한 타이(Tie) 형성을 가능하게 한다. 따라서 본 발명에서는 현실 사회에서의 대인관계 형성 및 유지에 어려움을 겪는 현상을 완화시키는 방법으로써 오프라인 데이터 기반 친구추천 연구가 해결방법이 될 수 있다고 주장한다.With the proliferation of online social network services (OSNS) and the popularization of smart mobile devices, users are able to network easily with social networking with people around the world, anywhere, anytime, anywhere. However, paradoxically, these technologies are skipped over the processes of human relationship formation that are formed through trial and error through numerous face-to-face interactions in OSNS and immersed users, It caused difficulties. Research on "recommendation of friends" has been actively researched as a way to provide opportunities for people to form, maintain and expand interpersonal relationships. Friend referral research is based on recommendation methods based on online data (eg, friend relationship information, interests and web visits), and recommendation methods based on offline data (eg, GPS log, Bluetooth log, etc.) , Both of which recommend a person as a friend who has a similar tendency to the user, a higher relationship, or a similar life pattern. The online data-based friend recommendation method allows social relations to be formed at any time with people who are distant from each other without time and space limitations, but the lack of opportunity for face-to-face (F2F) It is not helpful to develop and maintain interpersonal skills in the real world by omitting the process of deeply understanding, understanding and communicating with each other. The offline data - based friend recommendation method focuses on the user 's peripheral activity space based on the context information collected from the user' s mobile device sensor, and thus recommends a friend who can directly increase the F2F interaction opportunity. This enables strong tie formation through skill development and socialization of interpersonal relationships, mutual understanding and positive emotional formation. Therefore, the present invention argues that offline recommendation research based on offline data can be a solution to mitigate the difficulties in forming and maintaining interpersonal relationships in the real world.

친구 추천 기법에 있어 중요한 설계 고려 요인은 추천 당사자 A와 추천 상대자 B가 서로를 친구로서 받아 들일 수 있는 가능성을 예측하는 것이다. 기존의 많은 상황정보 기반의 친구 추천 연구는 이러한 가능성을 높이기 위하여 상황정보에서 추출된 장소 이용 패턴, GPS 패턴 매칭 정보를 분석하고 비슷한 패턴을 갖는 사람을 친구로 추천한다. 하지만 오직 오프라인 상황정보만을 기반으로 하기 때문에 비슷한 생활패턴을 가진 사람을 분석하는 데에 용이하지만 사용자의 이미 형성된 친구관계 네트워크(Friend Networks)를 고려하지 않고 있어 친구 관계 네트워크 정보에서 오는 이점을 이용하지 못한다. 예를 들어, 4명의 사람 A, B, C, D가 있고, 이들의 GPS 패턴과 장소이용기록이 모두 같다면 분별력 없이 모두를 친구로 추천하게 된다. 하지만 만약 A, B, C, D의 OSNS 친구 관계 네트워크 정보를 고려 할 수 있고, A와 C가 다른 사람 Z를 통해 연결 될 수 있는 정보가 있다면 A에게 B 또는 D를 추천하는 것보다 C를 추천함으로써 친구로 받아들일 가능성을 높일 수 있을 것이다. 이와 같이, 오프라인에서 F2F 상호 작용 기회를 발견 및 제공할 수 있는 상황정보 기반의 친구추천 기법을 필요로 한다.An important design consideration factor in recommendation technique is to predict the possibility that recommender A and recommender B can accept each other as friends. Many existing context - based friend recommendation studies analyze the location usage patterns and GPS pattern matching information extracted from the context information and recommend people with similar patterns as friends to increase this possibility. However, because it is based solely on offline status information, it is easy to analyze people with similar life patterns, but does not take into account the user's already established Friend Network, and does not take advantage of the friend network information . For example, if there are four people A, B, C, and D, and their GPS patterns and location records are all the same, everyone is recommended as a friend without discernment. However, if you can take into account the OSNS buddy network information of A, B, C, D, and you have information that A and C can connect through another person Z, then C is recommended rather than A or B This will increase the likelihood of being accepted as a friend. In this way, we need a friend-based recommendation technique based on contextual information that can discover and provide F2F interaction opportunities offline.

한국 등록특허공보 10-1714897호(2017.03.03.)Korean Registered Patent No. 10-1714897 (Mar.

본 발명이 이루고자 하는 기술적 과제는 오프라인에서 F2F 상호 작용 기회를 발견 및 제공할 수 있는 상황정보 기반의 친구추천 방법 및 시스템 제공하는데 있다. 이를 위해 스마트 단말 센서로부터 사용자의 상황정보와 소셜 네트워크에서 형성된 사용자 친구관계 정보를 수집하여 텐서 분해 및 결합을 기반으로 오프라인 환경에서 친구를 추천한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and system for recommending friends based on context information that can discover and provide opportunities for offline F2F interaction. To do this, we gather the user 's context information and user' s friend relation information formed in the social network from the smart terminal sensor and recommend friend in offline environment based on tensor decomposition and combination.

일 측면에 있어서, 본 발명에서 제안하는 소셜 네트워크 서비스를 위한 데이터 모델링 방법은 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서를 구성하는 복수의 요소들을 유도하는 단계, 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬에 기반하여 상기 복수의 요소들로 구성된 텐서를 분해하는 단계를 포함한다. In one aspect, a data modeling method for a social network service proposed in the present invention includes a step of deriving a plurality of elements constituting a tensor using information of a first user, second user information and position information, And decomposing the tensor comprised of the plurality of elements based on a matrix representing relationship information between the user and the second user.

상기 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서를 구성하는 복수의 요소들을 유도하는 단계는 제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소에 입장 또는 퇴장하는 경우, 제1 사용자 또는 제2 사용자의 단말이 상기 비컨 단말로부터 블루투스 신호를 수신하여, 상기 블루투스 신호의 수신 시간과 상기 비컨 단말의 고유 코드를 서버로 전송한다. The step of deriving the plurality of elements constituting the tensor using the information of the first user, the second user information, and the position information may include: when the first user or the second user enters or exits the place where the beacon terminal is installed, The terminal of the first user or the second user receives the Bluetooth signal from the beacon terminal and transmits the reception time of the Bluetooth signal and the unique code of the beacon terminal to the server.

상기 제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소를 이용하는 기록이 서버에 누적되고, 텐서를 구성하는 복수의 요소들의 요소 값은 제1 사용자와 제2 사용자의 생활패턴의 유사한 정도를 나타낸다. A record using the place where the first user or the second user is installed in the beacon terminal is accumulated in the server and the element value of the plurality of elements constituting the tensor represents the similar degree of the life pattern of the first user and the second user.

상기 행렬을 구성하는 복수의 요소들 중 연결 값(connection score)은 제1 사용자 및 제2 사용자 간의 공통 친구의 수와 연결 관계 경로의 길이에 기반하여 유도되고, 제1 사용자 및 제2 사용자 간의 가까움 정도를 나타낸다. The connection score among the plurality of elements constituting the matrix is derived based on the number of common friends and the length of the connection relationship path between the first user and the second user, and the proximity between the first user and the second user .

상기 연결 값은 상기 연결 관계 경로의 길이의 홉(hop)의 수에 따른 가까움 정도의 감쇠를 반영하기 위해 홉 길이에 따라 변화된다. The connection value is varied according to the hop length to reflect the degree of proximity reduction according to the number of hops in the length of the connection relationship path.

친구관계정보가 비공개인 사용자의 경우, 상기 연결 관계 경로를 파악하기 위해 친구관계정보가 대칭성을 갖는 특성을 이용하여 친구관계정보를 무방향 그래프로 변환하고, 다른 사용자들의 친구관계정보를 이용하여 상기 친구관계정보가 비공개인 사용자의 친구 관계를 유추한다. In a case where the friend relationship information is a non-public user, in order to grasp the connection relationship path, the friend relationship information is converted into a non-direction graph using the symmetry property, Friend relationship information infer a friend relationship of a private user.

또 다른 일 측면에 있어서, 본 발명에서 제안하는 소셜 네트워크 서비스 시스템은 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 프리프로세서, 상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 저장하는 데이터베이스, 데이터베이스에 저장된 정보를 이용하여 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 데이터 컨버터, 텐서 및 행렬을 동시에 분해하고 재결합하는 추천 엔진, 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 친구목록 생성부 및 생성된 추천 친구목록을 전송하기 위한 알림 메시지를 생성하여 사용자들의 단말로 전송하는 메시지 생성 및 알림부를 포함한다. According to another aspect of the present invention, a social network service system proposed in the present invention receives offline status information of a plurality of users using a social network service and evaluation result information on recommended friends, A processor, a database for collecting, shaping, and storing friend relationship information of the plurality of users, a data converter for transforming into a form of input information used in a tensor and a matrix using information stored in a database, a tensor and a matrix, A friend list generating unit for generating a recommended friend list for each user by using the re-combined tensor, and a message generating and notifying unit for generating a notification message for transmitting the generated recommended friend list to the terminals of the users .

상기 프리프로세서는 전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스에 저장한다. The preprocessor parses the received information through a context data parser and an evaluation data parser and stores the parsed information in a database. The preprocessor stores the friend information of the users through a network crawler And stores it in the database in the form of <Source node ID, Destination node ID>.

상기 데이터베이스는 상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID, 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 저장한다. The database stores the friend relationship information of the plurality of users into a plurality of tables including the entrance and exit time of the user, the friend relationship information, the user profile, the ID of the user terminal, and the satisfaction evaluation result information about the recommended friend do.

상기 데이터 컨버터는 데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 변환한다. The data converter converts the information stored in the database into the form of <User, User, Place, Total visit count> and <User, User, Connection score>.

상기 추천 엔진은 매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용한다. The recommendation engine creates codes using Matlab and uses a Tensor Toolbox and a CMTF toolbox.

또 다른 일 측면에 있어서, 본 발명에서 제안하는 소셜 네트워크 서비스 방법은 프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 단계, 상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장하는 단계, 데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 단계, 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계, 친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 단계를 포함한다. According to another aspect of the present invention, a method for providing a social network service according to the present invention includes receiving offline status information of a plurality of users using a social network service through a preprocessor and evaluation result information on recommended friends, Collecting and formatting friend relationship information of the plurality of users and storing the same in a database, converting the information into a form of input information used in a tensor and a matrix through a data converter using information stored in a database, Disassembling and reassembling the tensor and the matrix simultaneously through a recommendation engine, and generating a recommended friend list for each user using the reassembled tensor through the friend list generator.

상기 프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 단계는 전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스에 저장한다. The step of receiving the offline situation information of the plurality of users using the social network service and the evaluation result information of the recommended friends through the preprocessor and storing the received information in a database after parsing is performed by a Context Data Parser ) And an Evaluation Data Parser. The collected information is stored in a database. The friend relationship information of users is collected and formulated through a network crawler, and the form of the <Source node ID, Destination node ID> To the database.

상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장하는 단계는 상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID, 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 저장한다.The step of collecting and formatting the friend relationship information of the plurality of users and storing the friend relationship information in the database includes storing the friend relationship information of the plurality of users into the user's place entry and exit time, friend relationship information, user profile, And stores the plurality of tables including the satisfaction evaluation result information about the friend.

상기 데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 단계는 데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 변환한다. The step of transforming the information stored in the database into the form of input information used in the tensor and the matrix through the data converter using the information stored in the database includes: score>.

상기 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계는 매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용한다. The step of simultaneously decomposing and recombining the tensors and matrices through the recommendation engine creates codes using Matlab and uses a Tensor Toolbox and a CMTF toolbox.

상기 친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 단계는 생성된 추천 친구목록을 전송하기 위해 메시지 생성 및 알림부를 통해 알림 메시지를 생성하여 사용자들의 단말로 전송한다. The step of generating a recommended friend list for each user using the re-combined tensor through the friend list generation unit generates a notification message through a message generation and notification unit to transmit the generated recommended friend list to the terminals of the users .

또 다른 일 측면에 있어서, 본 발명에서 제안하는 사용자 단말에 설치되는 어플리케이션의 파일을 배포하는 파일 배포 시스템에 있어서 상기 사용자 단말의 요청에 따라 상기 파일을 전송하는 파일 전송부를 포함하고, 상기 어플리케이션은 사용자가 비컨 단말이 설치되어 있는 장소에 입장했을 때, 비컨 단말이 송신한 블루투스 신호를 수신한 후, 비컨 단말의 정보를 XML 형식으로 서버로 전송하는 수집 모듈 및 서버로부터 수신된 추천 친구목록을 알리는 알림 메시지를 확인하는 사용자 인터페이스 모듈을 포함하고, 오프라인에서 복수의 사용자들 간에 유사한 생활패턴 갖고, 소셜 네트워크에서 공통의 친구를 갖는 사용자들을 찾아 추천 친구목록을 생성하기 위해 다차원 정보를 텐서 및 행렬을 이용하여 모델링하고, CMTF 알고리즘을 통해 동시에 분해한다.According to another aspect of the present invention, there is provided a file distribution system for distributing a file of an application installed in a user terminal proposed by the present invention, the file transferring unit transferring the file according to a request of the user terminal, When receiving a Bluetooth signal transmitted from a beacon terminal when the beacon terminal is installed in a place where a beacon terminal is installed, a collection module for transmitting information of the beacon terminal to the server in XML format and a notification of a list of recommended friends received from the server A user interface module for confirming a message, a user having a similar life pattern among a plurality of users in the off-line, searching for users having a common friend in a social network, and using multidimensional information using tensors and matrices Model, and concurrently through the CMTF algorithm. The.

본 발명의 실시예들에 따르면 오프라인에서 F2F 상호 작용 기회를 발견 및 제공할 수 있는 상황정보 기반의 친구추천 기법을 제공한다. 이를 위해 스마트 단말 센서로부터 사용자의 상황정보와 소셜 네트워크에서 형성된 사용자 친구관계 정보를 수집하여 텐서 분해 및 결합을 기반으로 오프라인 환경에서 친구를 추천할 수 있다.Embodiments of the present invention provide a context-based friend recommendation technique that can discover and provide opportunities for offline F2F interaction. To do this, we collect the user 's context information and user friend relationship information formed in the social network from the smart terminal sensor, and recommend friend in offline environment based on tensor decomposition and combination.

도 1은 본 발명의 일 실시예에 따른 소셜 네트워크 서비스를 위한 데이터 모델링 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 정보를 결합 행렬 및 텐서 분해 기법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 텐서 분해를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 소셜 네트워크 서비스 시스템의 구성은 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 소셜 네트워크 서비스 방법을 설명하기 위함 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 결합 행렬 및 텐서 분해를 위한 데이터 변환 과정을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 사용자 인터페이스를 나타내는 도면이다.
1 is a flowchart illustrating a data modeling method for a social network service according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a combination matrix and a tensor decomposition technique according to an embodiment of the present invention. Referring to FIG.
3 is a view for explaining tensor decomposition according to an embodiment of the present invention.
4 is a diagram illustrating a configuration of a social network service system according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing a social network service according to an embodiment of the present invention.
6 is a diagram illustrating a data transformation process for a join matrix and tensor decomposition according to an embodiment of the present invention.
FIG. 7 illustrates a user interface according to an embodiment of the present invention. Referring to FIG.

스마트폰과 OSNS(Online Social Network Service)의 대중화를 통해 언제 어디서든 주변인뿐만 아니라 전 세계 사람들과 상호작용 할 수 있게 되었고, 그 결과 사람들의 OSNS 사용률은 계속 증가하고 있다. 그런데, 일부 OSNS를 통한 대인관계 형성에 집중하는 사람들의 경우, 수많은 F2F 상호 작용을 통해 형성되는 인간관계의 과정을 "친구추천" 버튼 하나로 건너뜀으로써 대인관계 기술 발달 및 유지에 어려움을 겪을 수 있다. 본 발명에서는 오프라인에서 F2F 상호 작용 기회를 발견 및 제공할 수 있는 상황정보 기반의 친구추천 기법을 제시한다. 이를 위해 스마트 단말 센서로부터 사용자의 상황정보와 소셜 네트워크에서 형성된 사용자 친구관계 정보를 수집하여 텐서 분해 및 결합을 기반으로 오프라인 환경에서 친구를 추천한다. 다시 말해, 생활패턴이 비슷하면서 연결 가능성이 높은 사람들을 추천하기 위해 사용자의 스마트 단말과 각 장소에 설치한 비컨(Beacon) 단말을 통해 수집된 장소방문 기록 정보와 소셜 네트워크에서 사용자들의 기 형성된 친구 관계 네트워크 정보를 결합 행렬 및 텐서 분해 기법에 적용한 친구 추천 알고리즘을 제시한다. 제안하는 기법의 평가를 위해 총 43명(실제 실험 참가자 12명 + 랜덤 사용자 31명)의 상황정보를 일주일간 수집하고, 12명을 대상으로 추천된 사람에 대한 만족도 평가를 실시하였다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
With the popularization of smartphones and OSNS (Online Social Network Service), people can interact with people around the world at anytime, anywhere, and as a result, people's OSNS usage continues to increase. However, for those who focus on forming interpersonal relationships through some OSNS, they may experience difficulties in developing and maintaining interpersonal skills by skipping the process of human relationships formed through numerous F2F interactions with a single "recommend" button . The present invention proposes a friend-based recommendation technique based on context information that can detect and provide opportunities for offline F2F interaction. To do this, we gather the user 's context information and user' s friend relation information formed in the social network from the smart terminal sensor and recommend friend in offline environment based on tensor decomposition and combination. In other words, in order to recommend people with similar life patterns and high connection possibility, the place visit information collected through the user's smart terminal and the beacon terminal installed at each place, We propose a friend recommendation algorithm applying network information to join matrix and tensor decomposition method. For the evaluation of the proposed technique, the situation information of 43 persons (12 experimental participants + 31 random users) was collected for one week and 12 people were evaluated for their satisfaction with recommended persons. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 소셜 네트워크 서비스를 위한 데이터 모델링 방법을 설명하기 위한 흐름도이다. 1 is a flowchart illustrating a data modeling method for a social network service according to an embodiment of the present invention.

제안하는 소셜 네트워크 서비스를 위한 데이터 모델링 방법은 결합 행렬 및 텐서 분해 방법을 통해 블루투스 기반의 비컨 단말로부터 수집된 사용자의 장소 방문 기록과 사용자의 소셜 네트워크 친구 관계 정보를 융합한다.The data modeling method for the proposed social network service fuses the user 's place visit record collected from the Bluetooth - based beacon terminal with the user' s social network friend relationship information through the combination matrix and the tensor decomposition method.

이러한 소셜 네트워크 서비스를 위한 데이터 모델링 방법은 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서를 구성하는 복수의 요소들을 유도하는 단계(110) 및 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬에 기반하여 상기 복수의 요소들로 구성된 텐서를 분해하는 단계(120)를 포함한다. The data modeling method for the social network service includes deriving 110 a plurality of elements constituting the tensor using the information of the first user, the second user information and the location information, And decomposing the tensor comprised of the plurality of elements based on a matrix representing relationship information.

먼저 단계(110)에서, 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서(tensor)를 구성하는 복수의 요소들을 유도한다. 제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소에 입장 또는 퇴장하는 경우, 제1 사용자 또는 제2 사용자의 단말이 상기 비컨 단말로부터 블루투스 신호를 수신하여, 상기 블루투스 신호의 수신 시간과 상기 비컨 단말의 고유 코드를 서버로 전송할 수 있다. 제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소를 이용하는 기록이 서버에 누적되고, 텐서를 구성하는 복수의 요소들의 요소 값은 제1 사용자와 제2 사용자의 생활패턴의 유사한 정도를 나타낼 수 있다. 예를 들어, 사용자의 장소 방문 기록은 3차원 텐서 X∈R^(U×U×P)로 표현된다. First, in step 110, a plurality of elements constituting a tensor are derived using the information of the first user, the second user information, and the position information. When a first user or a second user enters or leaves a place where the beacon terminal is installed, the terminal of the first user or the second user receives the Bluetooth signal from the beacon terminal, Can be transmitted to the server. A record in which a first user or a second user uses a place where the beacon terminal is installed is accumulated in the server and the element value of the plurality of elements constituting the tensor can represent a similar degree of life patterns of the first user and the second user . For example, a user's place visit record is represented by a three-dimensional tensor X E ^ (U x U x P).

다음으로 단계(120)에서, 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬에 기반하여 상기 복수의 요소들로 구성된 텐서를 분해한다. 상기 행렬을 구성하는 복수의 요소들 중 연결 값(connection score)은 제1 사용자 및 제2 사용자 간의 공통 친구의 수와 연결 관계 경로의 길이에 기반하여 유도되고, 제1 사용자 및 제2 사용자 간의 가까움 정도를 나타낸다. 여기에서 가까움의 정도는 제1 사용자 및 제2 사용자의 생활패턴 또는 공통 친구의 수 등에 기반하여 유도된 제1 사용자 및 제2 사용자 간의 관련 정도일 수 있다. Next, at step 120, a tensor composed of the plurality of elements is decomposed based on a matrix representing relationship information between the first user and the second user. The connection score among the plurality of elements constituting the matrix is derived based on the number of common friends and the length of the connection relationship path between the first user and the second user, and the proximity between the first user and the second user . Where the degree of proximity may be the degree of relevance between the first user and the second user derived based on, for example, the life pattern of first and second users or the number of common friends.

상기 연결 값은 상기 연결 관계 경로의 길이의 홉(hop)의 수에 따른 가까움 정도의 감쇠를 반영하기 위해 홉 길이에 따라 변화될 수 있고, 친구관계정보가 비공개인 사용자의 경우, 상기 연결 관계 경로를 파악하기 위해 친구관계정보가 대칭성을 갖는 특성을 이용하여 친구관계정보를 무방향 그래프로 변환하고, 다른 사용자들의 친구관계정보를 이용하여 상기 친구관계정보가 비공개인 사용자의 친구 관계를 유추할 수 있다. The connection value may be changed according to the hop length to reflect a degree of proximity according to the number of hops of the length of the connection relationship path, and in the case of a user whose friend relationship information is private, The friend relationship information is converted into the non-directional graph using the symmetry property of the friend relationship information, and the friend relationship information can be inferred from the friend relationship of the non-user using the friend relationship information of the other users have.

예를 들어, 소셜 네트워크의 친구 관계 정보는 2차원 행렬(matrix) M∈R^(U×U)로 표현된다. 여기서 행렬 M은 두 사용자, 다시 말해 제1 사용자 및 제2 사용자 사이의 관계 정보를 나타내는 결합 행렬이며, 텐서 X가 분해될 때 추가적인 정보로 고려되어 함께 분해된다. 이러한 결합 행렬 및 텐서 분해 기법에 대하여 도 2 및 도 3을 참조하여 더욱 상세히 설명한다.
For example, the friendship information of a social network is represented by a two-dimensional matrix M ∈ R ^ (U × U). Where the matrix M is a joint matrix representing the relationship information between two users, i. E., The first user and the second user, and considered together as additional information when the tensor X is decomposed and decomposed together. Such a coupling matrix and a tensor decomposition technique will be described in more detail with reference to FIGS. 2 and 3. FIG.

도 2는 본 발명의 일 실시예에 따른 정보를 결합 행렬 및 텐서 분해 기법을 설명하기 위한 도면이다. FIG. 2 is a diagram for explaining a combination matrix and a tensor decomposition technique according to an embodiment of the present invention. Referring to FIG.

기존에 많이 사용되는 그래프 모델이나 행렬 모델은 추가적인 정보를 고려하는데 큰 어려움이 있다. 행렬의 경우 2차원이 한계이며, 그래프 모델의 경우 새로운 정보를 추가하기 위해 새로운 모델링을 해야 하고 그래프가 복잡해지는 단점이 있다.The existing graph and matrix models are very difficult to consider additional information. In the case of the matrix, the two-dimensional limit is limited. In the case of the graph model, a new modeling is required to add new information, and the graph becomes complicated.

따라서, 온라인과 오프라인 정보 같이 서로 다른 차원의 정보를 융합하기 위해 결합 행렬 및 텐서 분해 기법을 이용한다. 이러한 텐서 분해 기반 모델은 정보 안에 숨겨진 요소 발견이나, 결측 값(missing value)을 찾아 낼 수 있으므로, 최근 다양한 소스로부터 발생되는 다차원 데이터를 함께 분석하는 방안으로 대두 되고 있다.Therefore, we use a combination matrix and a tensor decomposition technique to fuse information of different dimensions such as online and offline information. Since the tensor decomposition based model can find hidden elements or missing values in information, it is becoming a way to analyze multidimensional data generated from various sources in recent years.

본 발명의 실시예에 따르면, 사용자의 모바일 단말 센서로부터 수집된 장소 이용 정보로 텐서를 구성하고, 사용자의 온라인 친구 관계 정보를 행렬의 형태로 모델링 한다. 결합 행렬 및 텐서의 기본 개념과 분해 및 재결합 과정은 도 2와 같습니다.According to the embodiment of the present invention, a tensor is constructed from the location information collected from the user's mobile terminal sensor, and the online friend relationship information of the user is modeled in the form of a matrix. The basic concept of the coupling matrix and the tensor and the decomposition and recombination process are shown in FIG.

예를 들어, 완전히 결합되지 않은 결합 행렬 및 텐서(210)는 온라인에서의 제1 사용자(User)(212), 제2 사용자(User)(213) 및 장소(Place)(214) 정보를 포함하는 텐서(211)와 오프라인에서의 제1 사용자(User)(216), 제2 사용자(User)(217) 정보를 포함하는 결합 행렬(215)로 이루어질 수 있다. For example, the binding matrix and the tensor 210 that are not fully combined may include a first user (User) 212, a second user (User) 213, and a Place (214) And a combining matrix 215 including a tensor 211 and a first user 216 and a second user 217 in an offline state.

상기 완전히 결합되지 않은 결합 행렬 및 텐서(210)는 복수의 요소들(Component R)(220)을 포함할 수 있고, 여기에서 R은 분해를 위한 등급(rank)일 수 있다. The fully coupled coupling matrix and tensor 210 may comprise a plurality of elements (Component R) 220, where R may be rank for decomposition.

복수의 요소들(Component R)(220)은 분해 및 재결합 과정을 통해 완전한 결합 행렬 및 텐서(230)로 변환될 수 있다. 완전한 결합 행렬 및 텐서(230)는 온라인에서의 제1 사용자(User)(231), 제2 사용자(User)(232) 장소(Place)(233), 오프라인에서의 제1 사용자(User)(234), 제2 사용자(User)(235) 정보를 포함하는 3차원 이상의 배열일 수 있다. 데이터의 상당 부분이 결측 값일 수 있지만, 이것은 추가적인 정보와 함께 분해 및 결합을 통해 찾을 수 있다.
The plurality of elements (Component R) 220 may be transformed into a complete coupling matrix and a tensor 230 through a decomposition and recombination process. The complete join matrix and tensor 230 includes a first User 231, a second User 232 place 233, a first User 234 offline ), And a second user (User 235). Much of the data may be missing values, but this can be found through decomposition and combination with additional information.

도 3은 본 발명의 일 실시예에 따른 텐서 분해를 설명하기 위한 도면이다. 3 is a view for explaining tensor decomposition according to an embodiment of the present invention.

예를 들어, 도 3과 같이 2차원 텐서, 다시 말해 행렬(310)은 제1 사용자(311) 및 제2 사용자(312) 간의 관계만을 모델링하여 나타낼 수 있다. For example, as shown in FIG. 3, a two-dimensional tensor, that is, a matrix 310, can be modeled by only modeling the relationship between the first user 311 and the second user 312.

이에 비해, 3차원 텐서(320)(또는 3차원 이상)는 제1 사용자(321), 제2 사용자(322) 및 시간(323) 간의 관계를 모델링하여 나타낼 수 있다. 다시 말해, 시간(323)에 따른 제1 사용자(321)와 제2 사용자(322) 간의 관계를 나타낼 수 있다.
In contrast, the three dimensional tensor 320 (or three dimensional or more) may represent and represent the relationship between the first user 321, the second user 322, and the time 323. In other words, the relationship between the first user 321 and the second user 322 according to the time 323 can be shown.

도 4는 본 발명의 일 실시예에 따른 소셜 네트워크 서비스 시스템의 구성은 나타내는 도면이다. 4 is a diagram illustrating a configuration of a social network service system according to an embodiment of the present invention.

소셜 네트워크 서비스 시스템은 프리프로세서(Preprocessor)(410), 데이터베이스(Database)(420), 데이터 컨버터(Data Convertor)(430), 추천 엔진(Recommendation Engine)(440), 친구목록 생성부(Friend Lists Generator)(450) 및 메시지 생성 및 알림부(GCM Message Generator & Notification)(460)를 포함할 수 있다. 또한, 모바일 클라이언트 어플리케이션(470)은 수집 모듈(Context Collector) 사용자 인터페이스 모듈(User Interface; UI)을 포함할 수 있다. The social network service system includes a preprocessor 410, a database 420, a data converter 430, a recommendation engine 440, a Friend Lists Generator ) 450 and a GCM Message Generator & Notification (GCM) 460. In addition, the mobile client application 470 may include a Context Collector User Interface (UI) module.

프리프로세서(Preprocessor)(410)는 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장한다. The preprocessor 410 receives the offline situation information of a plurality of users using the social network service and the evaluation result information on the recommended friends, parses them, and stores them in the database.

프리프로세서(410)는 전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스(430)에 저장한다. The preprocessor 410 parses the received information through a context data parser and an evaluation data parser and stores the parsed information in a database. The preprocessor 410 transmits the parsed information to the user via a network crawler, And stores the information in the database 430 in the form of < Source node ID, Destination node ID >.

데이터베이스(Database)(420)는 상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 저장한다. 데이터베이스(420)는 상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID(예를 들어, Google Cloud Message(GCM) ID), 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 저장한다. 도 6(a) 및 도 6(b)는 이러한 정보들의 예를 보여준다.The database 420 collects and formats friend relationship information of the plurality of users and stores them. The database 420 stores the friend relationship information of the plurality of users into the user's location entry and exit time, friend relationship information, user profile, user terminal ID (e.g., Google Cloud Message (GCM) ID) And stores it as a plurality of tables including satisfaction evaluation result information about friends. 6 (a) and 6 (b) show examples of such information.

데이터 컨버터(Data Convertor)(430)는 데이터베이스에 저장된 정보를 이용하여 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환한다. 데이터 컨버터(430)는 데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 도 6과 같이 변환한다. The data converter 430 converts the information stored in the database into the form of input information used in the tensor and matrix. The data converter 430 converts the information stored in the database in the form of <User, User, Place, Total visit count> and <User, User, Connection score> as shown in FIG.

추천 엔진(Recommendation Engine)(440)은 텐서 및 행렬을 동시에 분해하고 재결합한다. 추천 엔진(440)은 매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용한다. Recommendation Engine 440 simultaneously decomposes and recombines the tensor and matrix. The recommendation engine 440 writes the code using Matlab and uses a Tensor Toolbox and a CMTF toolbox.

친구목록 생성부(Friend Lists Generator)(450)는 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성한다. The Friend Lists Generator 450 creates a list of recommended friends for each user using the reassembled tensor.

메시지 생성 및 알림부(GCM Message Generator & Notification)(460)는 생성된 추천 친구목록을 전송하기 위한 알림 메시지(예를 들어, Google Cloud Message(GCM) ID)를 생성하여 사용자들의 모바일 기기에 추천되는 친구 정보를 전송한다. The GCM Message Generator & Notification 460 generates a notification message (for example, a Google Cloud Message (GCM) ID) for transmitting the generated recommended friend list to the user's mobile device Send friend information.

이러한 본 발명에 따른 모바일 클라이언트 어플리케이션(470)은 사용자가 비컨 단말이 설치되어 있는 장소에 입장했을 때, 비컨 단말이 송신한 블루투스 신호를 수신한 후, 비컨 단말의 정보를 XML 형식으로 서버로 전송하는 수집 모듈(Context Collector) 및 서버로부터 수신된 추천 친구목록을 알리는 알림 메시지를 확인하는 사용자 인터페이스 모듈(User Interface; UI)을 포함할 수 있다. When the user enters the location where the beacon terminal is installed, the mobile client application 470 receives the Bluetooth signal transmitted by the beacon terminal and then transmits the information of the beacon terminal to the server in the XML format And a user interface module (UI) for confirming a notification message informing a collection module (Context Collector) and a list of recommended friends received from the server.

오프라인에서 복수의 사용자들 간에 유사한 생활패턴 갖고, 소셜 네트워크에서 공통의 친구를 갖는 사용자들을 찾아 추천 친구목록을 생성하기 위해 다차원 정보를 텐서 및 행렬을 이용하여 모델링하고, CMTF 알고리즘을 통해 동시에 분해할 수 있다.
Multidimensional information can be modeled using tensors and matrices, and can be decomposed at the same time through the CMTF algorithm in order to find users with a common friend in the social network with similar lifestyle among multiple users in offline, have.

도 5는 본 발명의 일 실시예에 따른 소셜 네트워크 서비스 방법을 설명하기 위함 흐름도이다. 5 is a flowchart illustrating a method of providing a social network service according to an embodiment of the present invention.

제안하는 소셜 네트워크 서비스 방법은 프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 단계(510), 상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장하는 단계(520), 데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 단계(530), 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계(540), 친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 단계(550)를 포함할 수 있다. The proposed social network service method includes a step (510) of receiving offline situation information of a plurality of users using a social network service through a preprocessor and evaluation result information on recommended friends, parsing and storing the information in a database (510) A step 530 of collecting, formatting and storing the friend relationship information of the users of the users in the database 520, converting the information stored in the database into the form of input information used in the tensor and matrix through the data converter, A step 540 of decomposing and recombining the tensors and the matrix simultaneously through the engine, and a step 550 of creating a recommended friend list for each user using the re-combined tensor through the friend list generating unit.

단계(510)에서, 프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장한다. In step 510, the offline situation information of a plurality of users using the social network service through the preprocessor and the evaluation result information on the recommended friends are received and stored in a database through a parsing process.

전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스에 저장한다.The transmitted information is parsed through Context Data Parser and Evaluation Data Parser and stored in a database. The collected information is collected through a network crawler, It is stored in the database as <Source node ID, Destination node ID>.

단계(520)에서, 상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장한다. 상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID(예를 들어, Google Cloud Message(GCM) ID), 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 데이터베이스에 저장한다. In step 520, friend relationship information of the plurality of users is collected, formatted, and stored in a database. The friend relationship information of the plurality of users may be stored in a storage unit such as a user's place entry and exit time, friend relationship information, a user profile, an ID of a user's terminal (e.g., Google Cloud Message (GCM) ID) The result information is stored in a database in a plurality of tables.

단계(530)에서, 데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환한다. 데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 도 6과 같이 변환한다. In step 530, the information stored in the database is used to transform the data into the form of input information used in the tensor and matrix through the data converter. The information stored in the database is converted as shown in Fig. 6 in the form of < User, User, Place, Total visit count >

단계(540)에서, 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합한다. 예를 들어, 매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용할 수 있다. At step 540, the tensor and matrix are decomposed and recombined simultaneously through a recommendation engine. For example, you can write code using Matlab and use the Tensor Toolbox and the CMTF Toolbox.

단계(550)에서, 친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성한다. 그리고, 생성된 추천 친구목록을 전송하기 위한 알림 메시지(예를 들어, Google Cloud Message(GCM) ID)를 생성하여 메시지 생성 및 알림부를 통해 사용자들의 모바일 기기에 추천되는 친구 정보를 전송한다.
In step 550, a recommended friend list for each user is generated using the re-joined tensor through the friend list generator. Then, a notification message (for example, a Google Cloud Message (GCM) ID) for transmitting the created recommended friend list is generated, and friend information recommended by the user to the mobile device is transmitted through the message creation and notification unit.

도 6은 본 발명의 일 실시예에 따른 결합 행렬 및 텐서 분해를 위한 데이터 변환 과정을 나타내는 도면이다. 6 is a diagram illustrating a data transformation process for a join matrix and tensor decomposition according to an embodiment of the present invention.

제안하는 소셜 네트워크 서비스를 위한 데이터 모델링 방법은 결합 행렬 및 텐서 분해 방법을 통해 블루투스 기반의 비컨 단말로부터 수집된 사용자의 장소 방문 기록과 사용자의 소셜 네트워크 친구 관계 정보를 융합한다. 예를 들어, 사용자의 장소 방문 기록은 3차원 텐서 X∈R^(U×U×P)로 표현될 수 있고, 소셜 네트워크 친구 관계 정보는 2차원 행렬 M∈R^(U×U)로 표현될 수 있다. 여기에서 행렬 M은 두 사람 사이의 관계 정보를 나타내는 결합 행렬이며, 텐서 X가 분해될 때 추가적인 정보로 고려되어 함께 분해된다. The data modeling method for the proposed social network service fuses the user 's place visit record collected from the Bluetooth - based beacon terminal with the user' s social network friend relationship information through the combination matrix and the tensor decomposition method. For example, the user's place visit record can be represented by a 3D tensor XεR ^ (U × U × P), and the social network friend relationship information is represented by a two-dimensional matrix MεR ^ (U × U) . Here, matrix M is a joint matrix representing relationship information between two people, which is considered as additional information when the tensor X is decomposed and decomposed together.

도 6(a)는 사용자 모바일 기기로부터 입력된 입장/퇴장 시간의 로우데이터와 소셜 네트워크의 친구관계 경로 정보를 나타내는 도면이다. 도 6(b) 도 6(a)를 기반으로 텐서와 결합 행렬의 입력 형태로 변환된 정보를 나타내는 도면이다. 도 6(c)는 텐서 X와 결합 행렬 M의 모델링, 다시 말해 사용자의 장소 이용 기록과 소셜 네트워크의 친구관계 정보의 결합 행렬 및 텐서 모델링 형태를 나타내는 도면이다. 텐서 X는 제1 사용자-제2 사용자-장소(User-User-Place) 관계를 나타내며, 텐서 X를 구성하는 각 요소는 특정 장소를 이용한 두 사용자의 빈도수로부터 유도된다. 사용자가 비컨 단말이 설치된 장소에 입장 또는 퇴장하게 되면 사용자의 모바일 기기에 설치된 어플리케이션은 비컨 단말이 송신하는 블루투스 신호를 수신한 후 이때의 시간과 비컨 단말의 고유 코드를 서버로 전송한다. 하지만 블루투스 무선 신호 특성상 주변 신호의 간섭으로 인해 자주 신호가 끊어지게 되어, 한 장소에 머물러도 입장 또는 퇴장하는 기록들이 계속해서 서버로 전송되게 된다. 이러한 문제점을 해결하기 위해, 예를 들어 입장 시간(EnterTime)과 퇴장시간(LeaveTime)의 간격이 5분 미만인 경우 사용자가 한 장소에 계속 머무른 것으로 구분한다.6A is a diagram showing row data of entry / exit time input from a user mobile device and friend relationship route information of a social network. 6 (b) is a diagram showing information transformed into an input form of a tensor and a combining matrix based on FIG. 6 (a). 6 (c) is a diagram showing the modeling of the tensor X and the coupling matrix M, that is, the combination matrix of the user's place-use record and the friend relationship information of the social network and the form of the tensor modeling. The tensor X represents a first user-second user-user-place relationship and each element constituting the tensor X is derived from the frequency of two users using a particular location. When the user enters or exits the place where the beacon terminal is installed, the application installed in the user's mobile device receives the Bluetooth signal transmitted by the beacon terminal and then transmits the time and the unique code of the beacon terminal to the server. However, due to the characteristics of the Bluetooth radio signal, frequent signal breaks due to interference of peripheral signals, so that records entering or leaving are continuously transmitted to the server even if they stay in one place. In order to solve this problem, for example, if the interval between the entry time (EnterTime) and the leaving time (LeaveTime) is less than 5 minutes, the user is classified as staying in one place.

결과적으로 각각의 사용자들의 장소 이용 기록이 누적되며, 텐서 X의 각 요소인 χ_ijk는 특정 장소에 방문한 사용자(User) x와 y의 장소 이용 기록 중 최솟값으로 설정되었다. 텐서 X의 요소 값이 크다는 것은 두 사용자가 방문한 장소가 그들에게 큰 의미를 갖는다는 것과 두 사용자의 생활패턴이 유사하다는 것을 의미한다. 결합 행렬 M은 제1 사용자-제2 사용자(User-User) 관계를 나타내며, 이것은 두 사용자 사이의 가까움의 정도를 의미한다. 여기에서 가까움의 정도는 제1 사용자 및 제2 사용자의 생활패턴 또는 공통 친구의 수 등에 기반하여 유도된 제1 사용자 및 제2 사용자 간의 관련 정도일 수 있다.As a result, each user's place use record is accumulated, and each element of the tensor X, χ_ijk, is set to the smallest among the place use records of the users (User) x and y visited at a specific place. The large element value of tensor X means that the places visited by the two users have a great meaning to them and that the life patterns of the two users are similar. The join matrix M represents a first user-second relationship, which means the degree of proximity between the two users. Where the degree of proximity may be the degree of relevance between the first user and the second user derived based on, for example, the life pattern of first and second users or the number of common friends.

행렬 M의 요소인 연결 값(connection score)은 두 사용자 사이의 공통의 친구의 수와 연결 관계 경로의 길이에 의해 유도된다. 수학식 (1)은 이러한 의미를 반영한 연결 값이 어떻게 계산되는지를 보여주며, 표 1은 사용된 매개변수들에 대한 설명이다.The connection score, which is an element of the matrix M, is derived by the number of common friends and the length of the connection relationship path between the two users. Equation (1) shows how the connection value reflecting this meaning is calculated, and Table 1 is a description of the parameters used.

Figure 112016114523276-pat00001
수학식(1)
Figure 112016114523276-pat00001
Equation (1)

<표 1><Table 1>

Figure 112016114523276-pat00002
Figure 112016114523276-pat00002

본 발명의 실시예에 따르면, 연결 예측(link prediction)에서 일반적으로 사용되는 Katz metric을 변형하여 두 사람 사이에 존재하는 모든 경로들의 수를 반영한다. 하지만 고려되는 경로들의 홉(Hop)의 수에 따른 가까움 정도의 감쇠를 반영하기 위해 홉 길이에 따라 연결 값이 변화되도록 한다. 다시 말해, 두 사람 사이의 홉이 1인 경우 현실세계에서 이미 친구 관계가 있는 것으로 판단하여 연결 값을 0으로 설정하였고, 홉이 2 또는 3인 경우 수학식 (1)을 이용하여 연결 값을 계산한다.According to an embodiment of the present invention, the Katz metric, which is commonly used in link prediction, is modified to reflect the number of all paths existing between the two. However, the connection value is changed according to the hop length in order to reflect the attenuation of the proximity according to the number of hops of the paths considered. In other words, if the hop between two people is 1, it is judged that there is already a friend relationship in the real world, and the connection value is set to 0. When the hop is 2 or 3, the connection value is calculated using the equation (1) do.

홉이 4 이상일 경우 두 사람 사이의 많은 홉으로 인해 친구가 될 가능성이 낮아진다고 판단하였고, 2 또는 3홉일 때 계산된 연결 값들 중 최솟값의 반으로 설정하여 최소한의 가능성만이 고려되도록 한다. 수학식(1)은 결국 두 사람 사이에 경로의 수가 많을수록, 경로 상의 홉의 수가 적을수록, 서로 친구가 될 가능성이 높다는 의미를 반영한 것이다.When the hop is 4 or more, it is determined that the possibility of becoming a friend is reduced due to a lot of hops between two persons. In the case of 2 or 3 hops, only the minimum possibility is considered by setting the half of the calculated value. Equation (1) reflects the fact that the greater the number of paths between two people, the less the number of hops on the path, the more likely they are friends.

연결 값을 계산하기 위해서는 두 사람 사이의 경로들을 모두 고려해야 하지만, 사용자가 소셜 네트워크의 친구 관계 정보를 비공개로 하였을 경우 경로를 파악할 수 없다. 따라서 소셜 네트워크의 친구 관계 정보는 방향성 그래프(directed graph)로 표현되므로 이것을 무방향 그래프(undirected graph)로 변환하기 위해 소셜 네트워크의 친구 관계 정보가 대칭성을 갖는 특성을 이용한다. 다시 말해, 친구 관계 정보를 비공개한 사용자의 경우 다른 사용자들의 친구 관계 정보를 이용하여 비공개한 사용자의 숨겨진 친구 관계를 유추한 것이다. 무방향 그래프로 표현된 친구 관계 정보를 DFS(depth-first search) 알고리즘에 대입하여 두 사람 사이의 2홉~3홉 사이의 모든 경로들을 계산한다.In order to calculate the connection value, it is necessary to consider all the paths between the two persons, but the user can not grasp the route when the friend information of the social network is made private. Therefore, since the friendship information of a social network is represented by a directed graph, the friendship information of the social network uses a symmetric characteristic in order to convert it into an undirected graph. In other words, in the case of a user who does not disclose the friend relationship information, the hidden friend relationship of the closed user is inferred by using the friend relationship information of the other users. We compute the friendship information represented by the non-directional graph into the depth-first search (DFS) algorithm and calculate all the paths between two hops and three hops.

다시 말해, 오프라인에서 상호간에 유사한 생활패턴 갖는 동시에 OSNS에서 공통의 친구를 갖는 잠재적 친구를 찾기 위해 다차원 정보를 텐서와 행렬로 모델링하여 CMTF(Coupled Matrix and Tensor Factorization) 알고리즘을 통해 동시에 분해한다. CMTF 알고리즘은 기울기 하강(gradient-descent)기반 최적화 방식을 사용함으로 그에 대한 조건들로 스탑(stop) 조건은 10-8, 최대 반복 횟수 조건은 105로 설정하였다. 또한 분해를 위한 등급(Rank) 값을 설정하는 것은 NP-hard 문제이므로 등급 값이 2일 때부터 최대 50까지 순차적으로 증가시키면서 분해 및 재결합을 하여 분해 전과 후의 오차 값이 가장 적을 때의 등급 값을 이용하도록 하였다. 알고리즘 1은 이에 대한 과정을 보여준다.In other words, multidimensional information is modeled with tensors and matrices to find potential friends who have a similar life pattern in offline and mutual friends and have common friends in OSNS, and are decomposed simultaneously using CMTF (Coupled Matrix and Tensor Factorization) algorithm. The CMTF algorithm uses a gradient-descent-based optimization method. The stop condition is set to 10 -8 and the maximum number of iterations is set to 10 5 . Also, since it is an NP-hard problem to set a rank value for disassembly, it is necessary to gradually increase the rank value from 2 to 50, and to decompose and recombine to obtain the rank value at the lowest error value before and after decomposition Respectively. Algorithm 1 shows the procedure for this.

Figure 112016114523276-pat00003

Figure 112016114523276-pat00003

도 7은 본 발명의 일 실시예에 따른 사용자 인터페이스를 나타내는 도면이다. FIG. 7 illustrates a user interface according to an embodiment of the present invention. Referring to FIG.

사용자가 알림 메시지를 터치하면 도 7과 같은 UI를 통해 메시지를 보여준다. UI는 세 개의 탭(Tab)(710, 720, 730)으로 구성되어 있으며, 첫 번째 탭(710)은 추천된 친구의 소셜 네트워크 프로필, 두 번째 탭(720)은 사용자와 추천된 친구 사이에 공유된 장소들과 소셜 네트워크를 통한 친구 연결 관계 정보, 마지막 탭(730)은 추천된 친구에 대한 설문 항목을 보여준다. When the user touches the notification message, the message is displayed through the UI as shown in FIG. The UI is made up of three tabs 710, 720 and 730, the first tab 710 being the social network profile of the recommended friend, the second tab 720 being shared between the user and the recommended friend And the last tab 730 shows a question item about a recommended friend.

예를 들어, 교내 27개의 장소(연구실, 휴게실, 카페, 식당, 체육관, 모임장소 등)에 비컨(Beacon) 단말을 설치하고, 스마트 단말을 사용하는 43명(실험참가자 12명(대학원생) + 랜덤생성유저 31명) 사람들을 대상으로 상황정보를 일주일간 수집한 후 설문 평가를 하였고, 추천된 친구에 대해 표 2와 같은 설문 항목으로 만족도 평가를 수행하였다. 각 문항은 3개의 평가요소 1)그렇다(Yes, 2점), 2)모르겠다(I don’t know, 1점), 3)아니다(No, 0점)로 이루어져 있다.For example, a beacon terminal is installed in 27 places (a laboratory, a rest room, a cafeteria, a restaurant, a gymnasium, a meeting place, etc.) on campus and 43 students (12 students (graduate students) And 31 respondents). The collected information was collected for one week for the users, and the questionnaire was evaluated. Satisfaction was assessed with the questionnaire items as shown in Table 2 for the recommended friends. Each item consists of three evaluation factors: 1) Yes, 2), 2) I do not know, 1), and 3) No (0).

<표 2><Table 2>

Figure 112016114523276-pat00004
Figure 112016114523276-pat00004

이와 같이, 사용자가 친구로 추천된 타인을 친구로서 받아들일 가능성을 높이기 위하여, 제안한 모델에서는 오프라인에서 발생하는 사용자의 장소 이용 기록과 소셜 네트워크에서 맺어진 타인과의 친구관계 정보를 함께 분석하는 결합 행렬 및 텐서 분해 방식을 이용하였고, 실제 사용자 실험을 통해 수집된 사용자 만족도 점수는 제시한 방식의 타당성을 보여주었다. 비록 장소 이용 기록 정보와 소셜 네트워크의 친구 관계 정보만을 이용하였지만 결합 행렬 및 텐서 방식은 이외에도 더 많은 차원의 정보를 함께 고려할 수 있으므로 향후 다양한 정보들이 함께 고려된다면 더욱 향상된 친구 추천 시스템이 될 것이다.
In order to increase the likelihood that a user accepts a friend recommended by a friend as a friend, the proposed model includes a combination matrix for analyzing a user's place use record occurring offline and friendship information of a friend connected to the social network, The tensor decomposition method was used and the user satisfaction scores collected through actual user experiments showed the validity of the proposed method. Although we used only place information and social network friend relationship information, the combination matrix and the tensor method can be considered together with more dimension information.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be embodyed temporarily. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.  The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (19)

데이터 컨버터 및 추천 엔진을 포함하는 소셜 네트워크 서비스 시스템의 소셜 네트워크 서비스를 위한 데이터 모델링 방법에 있어서,
데이터 컨버터를 통해 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서를 구성하는 복수의 요소들을 유도하는 단계; 및
추천 엔진를 통해 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬에 기반하여 상기 복수의 요소들로 구성된 텐서를 분해하는 단계
를 포함하고,
상기 소셜 네트워크 서비스를 위한 데이터 모델링 방법은,
온라인 및 오프라인 정보와 같이 서로 다른 차원의 정보를 융합하기 위해 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬 및 텐서 분해 기법을 이용하여, 제1 사용자의 정보, 제2의 사용자 정보, 위치정보 및 시간 간의 관계를 포함하는 3차원 이상의 다차원 정보를 상기 텐서 및 행렬을 이용하여 모델링하고, CMTF(Coupled Matrix and Tensor Factorization) 알고리즘을 통해 동시에 분해하는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
A data modeling method for a social network service of a social network service system including a data converter and a recommendation engine,
Deriving a plurality of elements constituting the tensor using the first user's information, the second user information, and the location information via the data converter; And
Decomposing a tensor comprised of the plurality of elements based on a matrix representing relationship information between a first user and a second user through a recommendation engine
Lt; / RTI &gt;
The data modeling method for the social network service includes:
Second information of users, second user information, location information of a first user and information of a second user by using a matrix and a tensor decomposition method that represent relationship information between first and second users to fuse information of different dimensions such as online and offline information Dimensional information including the relation between the time and the time is modeled using the tensor and the matrix, and simultaneously decomposed through a Coupled Matrix and Tensor Factorization (CMTF) algorithm
Data modeling method for social network services.
제1항에 있어서,
상기 데이터 컨버터를 통해 제1 사용자의 정보, 제2의 사용자 정보 및 위치정보를 이용하여 텐서를 구성하는 복수의 요소들을 유도하는 단계는,
제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소에 입장 또는 퇴장하는 경우, 제1 사용자 또는 제2 사용자의 단말이 상기 비컨 단말로부터 블루투스 신호를 수신하여, 상기 블루투스 신호의 수신 시간과 상기 비컨 단말의 고유 코드를 서버로 전송하는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
The method according to claim 1,
Wherein the step of deriving the plurality of elements constituting the tensor using the information of the first user, the second user information and the position information through the data converter comprises:
When a first user or a second user enters or leaves a place where the beacon terminal is installed, the terminal of the first user or the second user receives the Bluetooth signal from the beacon terminal, To send the unique code of
Data modeling method for social network services.
제2항에 있어서,
제1 사용자 또는 제2 사용자가 비컨 단말이 설치된 장소를 이용하는 기록이 서버에 누적되고, 텐서를 구성하는 복수의 요소들의 요소 값은 제1 사용자와 제2 사용자의 생활패턴의 유사한 정도를 나타내는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
3. The method of claim 2,
A record using a place where the first user or the second user is installed in the beacon terminal is accumulated in the server and the element values of the plurality of elements constituting the tensor are accumulated in the server to indicate the degree of similarity of the life patterns of the first user and the second user
Data modeling method for social network services.
제1항에 있어서,
상기 행렬을 구성하는 복수의 요소들 중 연결 값(connection score)은 제1 사용자 및 제2 사용자 간의 공통 친구의 수와 연결 관계 경로의 길이에 기반하여 유도되고, 제1 사용자 및 제2 사용자 간의 가까움 정도를 나타내는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
The method according to claim 1,
The connection score among the plurality of elements constituting the matrix is derived based on the number of common friends and the length of the connection relationship path between the first user and the second user, and the proximity between the first user and the second user Indicative of
Data modeling method for social network services.
제4항에 있어서,
상기 연결 값은 상기 연결 관계 경로의 길이의 홉(hop)의 수에 따른 가까움 정도의 감쇠를 반영하기 위해 홉 길이에 따라 변화되는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
5. The method of claim 4,
The connection value is varied according to the hop length to reflect the degree of proximity to the number of hops in the length of the connection relationship path
Data modeling method for social network services.
제4항에 있어서,
친구관계정보가 비공개인 사용자의 경우, 상기 연결 관계 경로를 파악하기 위해 친구관계정보가 대칭성을 갖는 특성을 이용하여 친구관계정보를 무방향 그래프로 변환하고, 다른 사용자들의 친구관계정보를 이용하여 상기 친구관계정보가 비공개인 사용자의 친구 관계를 유추하는
소셜 네트워크 서비스를 위한 데이터 모델링 방법.
5. The method of claim 4,
In a case where the friend relationship information is a private user, in order to grasp the connection relationship path, the friend relationship information is converted into the non-direction graph using the symmetry property, and the friend relationship information is converted into the non- Friend relationship information is inferred from friendship of non-public users
Data modeling method for social network services.
소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 프리프로세서;
상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 저장하는 데이터베이스;
데이터베이스에 저장된 정보를 이용하여 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 데이터 컨버터;
텐서 및 행렬을 동시에 분해하고 재결합하는 추천 엔진; 및
재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 친구목록 생성부
를 포함하고,
상기 추천 엔진은,
온라인 및 오프라인 정보와 같이 서로 다른 차원의 정보를 융합하기 위해 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬 및 텐서 분해 기법을 이용하여, 제1 사용자의 정보, 제2의 사용자 정보, 위치정보 및 시간 간의 관계를 포함하는 3차원 이상의 다차원 정보를 상기 텐서 및 행렬을 이용하여 모델링하고, CMTF(Coupled Matrix and Tensor Factorization) 알고리즘을 통해 동시에 분해하는
소셜 네트워크 서비스 시스템.
A preprocessor for receiving offline situation information of a plurality of users using the social network service and evaluation result information about recommended friends, parsing and storing the information in a database;
A database for collecting, shaping and storing friend relationship information of the plurality of users;
A data converter for converting the information stored in the database into a form of input information used in a tensor and a matrix;
A recommendation engine for decomposing and recombining the tensor and the matrix simultaneously; And
A friend list generating unit for generating a recommended friend list for each user by using the re-
Lt; / RTI &gt;
The recommendation engine includes:
Second information of users, second user information, location information of a first user and information of a second user by using a matrix and a tensor decomposition method that represent relationship information between first and second users to fuse information of different dimensions such as online and offline information Dimensional information including the relation between the time and the time is modeled using the tensor and the matrix, and simultaneously decomposed through a Coupled Matrix and Tensor Factorization (CMTF) algorithm
Social network service system.
제7항에 있어서,
상기 프리프로세서는,
전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스에 저장하는
소셜 네트워크 서비스 시스템.
8. The method of claim 7,
The pre-
The transmitted information is parsed through Context Data Parser and Evaluation Data Parser and stored in a database. The collected information is collected through a network crawler, Saved to database in the form of <Source node ID, Destination node ID>
Social network service system.
제7항에 있어서,
상기 데이터베이스는,
상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID, 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 저장하는
소셜 네트워크 서비스 시스템.
8. The method of claim 7,
The database includes:
Storing the friend relationship information of the plurality of users as a plurality of tables including the entrance and exit time of the user, friend relationship information, user profile, ID of the user terminal, and satisfaction evaluation result information about the recommended friend
Social network service system.
제7항에 있어서,
상기 데이터 컨버터는,
데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 변환하는
소셜 네트워크 서비스 시스템.
8. The method of claim 7,
The data converter includes:
To convert the information stored in the database into <User, User, Place, Total visit count> and <User, User, Connection score>
Social network service system.
제7항에 있어서,
상기 추천 엔진은,
매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용하는
소셜 네트워크 서비스 시스템.
8. The method of claim 7,
The recommendation engine includes:
Write code using Matlab and use the Tensor Toolbox and CMTF toolbox
Social network service system.
제7항에 있어서,
생성된 추천 친구목록을 전송하기 위한 알림 메시지를 생성하여 사용자들의 단말로 전송하는 메시지 생성 및 알림부
를 더 포함하는 소셜 네트워크 서비스 시스템.
8. The method of claim 7,
Generates a notification message for transmitting the created recommended friend list, and transmits the generated notification message to the terminals of the users,
Wherein the social network service system further comprises:
프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 단계;
상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장하는 단계;
데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 단계;
추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계; 및
친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 단계
를 포함하고,
상기 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계는,
온라인 및 오프라인 정보와 같이 서로 다른 차원의 정보를 융합하기 위해 제1 사용자 및 제2 사용자 간의 관계정보를 나타내는 행렬 및 텐서 분해 기법을 이용하여, 제1 사용자의 정보, 제2의 사용자 정보, 위치정보 및 시간 간의 관계를 포함하는 3차원 이상의 다차원 정보를 상기 텐서 및 행렬을 이용하여 모델링하고, CMTF(Coupled Matrix and Tensor Factorization) 알고리즘을 통해 동시에 분해하는
소셜 네트워크 서비스 방법.
Receiving offline status information of a plurality of users who use the social network service through the preprocessor and evaluation result information on the recommended friends, and parsing and storing the received information in a database;
Collecting and formatting friend relationship information of the plurality of users and storing the same in a database;
Converting the information stored in the database into a form of input information used in a tensor and a matrix through a data converter;
Simultaneously decomposing and recombining the tensor and the matrix through a recommendation engine; And
A step of generating a recommended friend list for each user by using the re-combined tensor through the friend list generating unit
Lt; / RTI &gt;
The step of simultaneously decomposing and recombining the tensor and the matrix through the recommendation engine includes:
Second information of users, second user information, location information of a first user and information of a second user by using a matrix and a tensor decomposition method that represent relationship information between first and second users to fuse information of different dimensions such as online and offline information Dimensional information including the relation between the time and the time is modeled using the tensor and the matrix, and simultaneously decomposed through a Coupled Matrix and Tensor Factorization (CMTF) algorithm
How to service a social network.
제13항에 있어서,
상기 프리프로세서를 통해 소셜 네트워크 서비스를 이용하는 복수의 사용자들의 오프라인 상황정보와 추천된 친구들에 대한 평가 결과정보를 수신하여 파싱 과정을 거쳐 데이터베이스에 저장하는 단계는,
전달된 정보를 콘텍스트 데이터 파서(Context Data Parser)와 평가 데이터 파서(Evaluation Data Parser)를 통해 파싱 과정을 거쳐 데이터베이스에 저장하고, 네트워크 크롤러(Network Crawler)를 통해 사용자들의 친구관계정보를 수집하고 정형화하여 <Source node ID, Destination node ID>의 형태로 데이터베이스에 저장하는
소셜 네트워크 서비스 방법.
14. The method of claim 13,
Receiving offline status information of a plurality of users using the social network service through the preprocessor and evaluation result information on recommended friends, and parsing and storing the received information in a database,
The transmitted information is parsed through Context Data Parser and Evaluation Data Parser and stored in a database. The collected information is collected through a network crawler, Saved to database in the form of <Source node ID, Destination node ID>
How to service a social network.
제13항에 있어서,
상기 복수의 사용자들의 친구관계정보를 수집하고 정형화하여 데이터베이스에 저장하는 단계는,
상기 복수의 사용자들의 친구관계정보를 사용자의 장소 입장 및 퇴장 시간, 친구관계정보, 사용자 프로필, 사용자의 단말의 ID, 추천된 친구에 대한 만족도 평가 결과 정보를 포함하는 복수의 테이블로 저장하는
소셜 네트워크 서비스 방법.
14. The method of claim 13,
Collecting and formatting the friend relationship information of the plurality of users and storing the same in a database,
Storing the friend relationship information of the plurality of users as a plurality of tables including the entrance and exit time of the user, friend relationship information, user profile, ID of the user terminal, and satisfaction evaluation result information about the recommended friend
How to service a social network.
제13항에 있어서,
상기 데이터베이스에 저장된 정보를 이용하여 데이터 컨버터를 통해 텐서 및 행렬에서 사용되는 입력정보의 형태로 변환하는 단계는,
데이터베이스에 저장된 정보를 <User, User, Place, Total visit count> 및 <User, User, Connection score>의 형태로 변환하는
소셜 네트워크 서비스 방법.
14. The method of claim 13,
The step of converting the information stored in the database into a form of input information used in a tensor and a matrix through a data converter,
To convert the information stored in the database into <User, User, Place, Total visit count> and <User, User, Connection score>
How to service a social network.
제13항에 있어서,
상기 추천 엔진을 통해 텐서 및 행렬을 동시에 분해하고 재결합하는 단계는,
매틀랩(Matlab)을 이용하여 코드를 작성하고 텐서 툴박스(Tensor Toolbox) 및 CMTF 툴박스를 이용하는
소셜 네트워크 서비스 방법.
14. The method of claim 13,
The step of simultaneously decomposing and recombining the tensor and the matrix through the recommendation engine includes:
Write code using Matlab and use the Tensor Toolbox and CMTF toolbox
How to service a social network.
제13항에 있어서,
상기 친구목록 생성부를 통해 재결합된 텐서를 이용하여 각 사용자들을 위한 추천 친구목록을 생성하는 단계는,
생성된 추천 친구목록을 전송하기 위해 메시지 생성 및 알림부를 통해 알림 메시지를 생성하여 사용자들의 단말로 전송하는
소셜 네트워크 서비스 방법.
14. The method of claim 13,
The step of generating a recommended friend list for each user using the re-joined tensor through the friend list generating unit may include:
In order to transmit the created recommended friend list, a notification message is generated through the message creation and notification unit and transmitted to the terminals of the users
How to service a social network.
삭제delete
KR1020160156352A 2016-11-23 2016-11-23 Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization KR101859845B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160156352A KR101859845B1 (en) 2016-11-23 2016-11-23 Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160156352A KR101859845B1 (en) 2016-11-23 2016-11-23 Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization

Publications (1)

Publication Number Publication Date
KR101859845B1 true KR101859845B1 (en) 2018-05-21

Family

ID=62453054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160156352A KR101859845B1 (en) 2016-11-23 2016-11-23 Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization

Country Status (1)

Country Link
KR (1) KR101859845B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626680A (en) * 2020-05-08 2021-11-09 北京邮电大学 Sparse social network recommendation system based on Graph OLAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629395B1 (en) * 2015-12-24 2016-06-13 한국과학기술정보연구원 apparatus for analyzing data, method of analyzing data and storage for storing a program analyzing data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629395B1 (en) * 2015-12-24 2016-06-13 한국과학기술정보연구원 apparatus for analyzing data, method of analyzing data and storage for storing a program analyzing data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626680A (en) * 2020-05-08 2021-11-09 北京邮电大学 Sparse social network recommendation system based on Graph OLAM

Similar Documents

Publication Publication Date Title
Quercia et al. Friendsensing: recommending friends using mobile phones
Hu et al. A survey on mobile social networks: Applications, platforms, system architectures, and future research directions
Mulero et al. An IoT-aware approach for elderly-friendly cities
Fortino et al. Using trust and local reputation for group formation in the cloud of things
CN107637050A (en) The foundation of the priority ranking and communication channel of resource
Perera et al. Twitter analytics: Architecture, tools and analysis
Sheng et al. Managing the web of things: linking the real world to the web
CN106797392A (en) The issue and discovery of M2M IOT services
CN107257969A (en) Semantic annotations and semantic repository for M2M systems
CN104471571A (en) System and method for indexing, ranking, and analyzing web activity within event driven architecture
Gao et al. Mining human mobility in location-based social networks
Starnini et al. Model reproduces individual, group and collective dynamics of human contact networks
Ketu et al. A contemporary survey on IoT based smart cities: architecture, applications, and open issues
Jin et al. Predicting information pathways across online communities
Liu et al. Joint recommendations in multilayer mobile social networks
Melthis et al. Topologies for combining the internet of things and serious games
Chin et al. Linking people through physical proximity in a conference
Shafik et al. Recommendation system comparative analysis: internet of things aided networks
KR101859845B1 (en) Offline Friend Recommendation using Mobile Context and Online Friend Network Information based on Tensor Factorization
Quercia et al. Nurturing social networks using mobile phones
Shaw Time geography in a hybrid physical–virtual world
CN104765730B (en) Personnel interested recommend method and apparatus
Karamshuk et al. SPoT: Representing the social, spatial, and temporal dimensions of human mobility with a unifying framework
CN103080969B (en) Cooperative information collection system and cooperative information collection method
Chen et al. Coopersense: A cooperative and selective picture forwarding framework based on tree fusion

Legal Events

Date Code Title Description
GRNT Written decision to grant