U.S. patent application number 16/011750 was filed with the patent office on 2018-10-18 for method of recommending friends, and server and terminal therefor.
This patent application is currently assigned to SAMSUNG ELECTRONICS CO., LTD.. The applicant listed for this patent is SAMSUNG ELECTRONICS CO., LTD.. Invention is credited to Sang-ok CHA, Hyun-jin CHOI, Yoon-kyong LEE, Jae-hyuck SHIN, Sang-ho YI.
Application Number | 20180300379 16/011750 |
Document ID | / |
Family ID | 49036448 |
Filed Date | 2018-10-18 |
United States Patent
Application |
20180300379 |
Kind Code |
A1 |
CHA; Sang-ok ; et
al. |
October 18, 2018 |
METHOD OF RECOMMENDING FRIENDS, AND SERVER AND TERMINAL
THEREFOR
Abstract
A method of recommending a friend in a first terminal is
provided. The method includes generating first interest keyword
information by analyzing event information of the first terminal,
receiving second interest keyword information of a second terminal,
comparing the first interest keyword information and the second
interest keyword information, and displaying information
recommending a user of the second terminal as a friend based on a
result of the comparing.
Inventors: |
CHA; Sang-ok; (Suwon-si,
KR) ; YI; Sang-ho; (Seoul, KR) ; SHIN;
Jae-hyuck; (Suwon-si, KR) ; LEE; Yoon-kyong;
(Seoul, KR) ; CHOI; Hyun-jin; (Seoul, KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SAMSUNG ELECTRONICS CO., LTD. |
Suwon-si |
|
KR |
|
|
Assignee: |
SAMSUNG ELECTRONICS CO.,
LTD.
Suwon-si
KR
|
Family ID: |
49036448 |
Appl. No.: |
16/011750 |
Filed: |
June 19, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13975539 |
Aug 26, 2013 |
10061825 |
|
|
16011750 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 30/0241 20130101;
G06Q 50/01 20130101; G06F 16/248 20190101; G06Q 30/0277 20130101;
G06F 16/3347 20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06Q 50/00 20120101 G06Q050/00; G06Q 30/02 20120101
G06Q030/02 |
Foreign Application Data
Date |
Code |
Application Number |
Aug 24, 2012 |
KR |
10-2012-0093254 |
Apr 26, 2013 |
KR |
10-2013-0046927 |
Claims
1. A method of recommending a friend, performed by a server, the
method comprising: receiving, by a processor of the server,
interest keyword information from each of a plurality of terminals
connected to the server, wherein the interest keyword information
includes at least one from among location information and time
information corresponding to the interest keyword information;
obtaining, by the processor, a similarity between the interest
keyword information received from each of the plurality of
terminals; determining, by the processor, friend recommendation
information on each terminal included in the plurality of terminals
according to the obtained similarity; and providing, by the
processor, the determined friend recommendation information to the
each terminal included in the plurality of terminals.
2. The method of claim 1, wherein the determined friend
recommendation information includes a plurality of friend
recommendation information arranged in an order determined
according to the obtained similarity.
3. The method of claim 1, further comprising: receiving, by the
processor from a terminal, at least one friend information selected
based on the provided friend recommendation information; and based
on the receiving the selected at least one friend information,
forming, by the processor, a user of the terminal and at least one
user corresponding to the selected at least one friend information
into a group.
4. The method of claim 3 further comprising: receiving, by the
processor, content based on a content sharing operation from at
least one of the user of the terminal and the at least one user;
and transmitting, by the processor, the content to remaining
terminals except for a terminal of a user who has transmitted the
content among the plurality of users included in the group so that
the received content is shared by the plurality of users included
in the group.
5. The method of claim 1, wherein the method of recommending the
friend is performed by using a virtual interest keyword collection
space generated in the server, further comprising: deleting, by the
processor, information stored in the virtual interest keyword
collection space when a predetermined time has passed.
6. The method of claim 5, wherein the predetermined time is
determined according to the at least one from among the location
information and the time information.
7. The method of claim 1, wherein the interest keyword information
includes a keyword generated by generalizing at least one keyword
obtained from each of the plurality of terminals using the at least
one of the location information and the time information.
8. A server for recommending a friend, the server comprising: a
communication interface; a storage storing a program; and a
processor which is configured to: by executing the program,
receive, through the communication interface, interest keyword
information from each of a plurality of terminals connected to the
server through the communication interface, wherein the interest
keyword information includes at least one from among location
information and time information corresponding to the interest
keyword information, store the received interest keyword
information into the storage, obtain a similarity between the
interest keyword information received from each of the plurality of
terminals, determine friend recommendation information on each
terminal included in the plurality of terminals according to the
obtained similarity, and provide the determined friend
recommendation information to the each terminal included in the
plurality of terminals through the communication interface.
9. The server of claim 8, wherein the determined friend
recommendation information includes a plurality of friend
recommendation information arranged in an order determined
according to the obtained similarity.
10. The server of claim 8, wherein the processor is configured to:
receive, through the communication interface from a terminal, at
least one friend information selected based on the provided friend
recommendation information; and based on the receiving the selected
at least one friend information, form a user of the terminal and at
least one user corresponding to the selected at least friend
information into a group.
11. The server of claim 10, wherein the processor is configured to:
receive, through the communication interface, content based on
content sharing operation from at least one of the user of the
terminal and the at least one user; and transmitting, through the
communication interface, the content to remaining terminals except
for a terminal of a user who has transmitted the content among the
plurality of users included in the group so that the received
content is shared by the plurality of users included in the
group.
12. The server of claim 8, wherein the processor is further
configured to: perform an operation of recommending the friend by
using a virtual interest keyword collection space generated in the
storage, and delete information stored in the virtual interest
keyword collection space when a predetermined time has passed.
13. The apparatus of claim 12, wherein the predetermined time is
determined according to the at least one from among the location
information and the time information.
14. The apparatus of claim 8, wherein the interest keyword
information includes a keyword generated by generalizing at least
one keyword obtained from each of the plurality of terminals using
the at least one of the location information and the time
information.
15. A computer program product comprising one or more
computer-readable recording media having a computer readable
program stored therein, wherein the computer readable program, when
executed on a computer device, causes the computing device to
perform a method of recommending a friend, wherein the method
comprises: receiving interest keyword information from each of a
plurality of terminals connected to the server, wherein the
interest keyword information includes at least one from among
location information and time information corresponding to the
interest keyword information; obtaining a similarity between the
interest keyword information received from each of the plurality of
terminals; determining friend recommendation information on each
terminal included in the plurality of terminals according to the
obtained similarity; and providing the determined friend
recommendation information to the each terminal included in the
plurality of terminals.
16. The computer program product of claim 15, wherein the
determined friend recommendation information includes a plurality
of friend recommendation information arranged in an order
determined according to the obtained similarity.
17. The computer program product of claim 15, wherein the method
further comprises: receiving, from a terminal, at least one friend
information selected based on the provided friend recommendation
information; and based on the receiving the selected at least one
friend information, forming a user of the terminal and at least one
user corresponding to the selected at least friend information into
a group.
18. The computer program product of claim 17, wherein the method
further comprises: receiving content based on content sharing
operation from at least one of the user of the terminal and the at
least one user; and transmitting the content to remaining terminals
except for a terminal of a user who has transmitted the content
among the plurality of users included in the group so that the
received content is shared by the plurality of users included in
the group.
19. The computer program product of claim 15, wherein the method of
recommending the friend is performed by using a virtual interest
keyword collection space generated in the server, wherein the
method further comprises: deleting, by the processor, information
stored in the virtual interest keyword collection space when a
predetermined time has passed.
20. The computer program product of claim 19, wherein the
predetermined time is determined according to the at least one from
among the location information and the time information.
Description
CROSS-REFERENCE TO RELATED PATENT APPLICATION
[0001] This is a continuation of U.S. application Ser. No.
13/975,539 filed on Aug. 26, 2013, which claims the priority from
Korean Patent Application Nos. 10-2012-0093254, filed on Aug. 24,
2012, and 10-2013-0046927, filed on Apr. 26, 2013, in the Korean
Intellectual Property Office, the disclosures of which are
incorporated herein in their entirety by reference.
BACKGROUND
1. Field
[0002] Exemplary embodiments relate to a method of recommending
friends by comparing interest keywords information among a
plurality of terminals, and a server and terminal therefor.
2. Description of the Related Art
[0003] As the number of smartphone users increases, users of social
networking services (SNS) also increase. An SNS is a service
enabling a user to form a relationship with many unspecified
people. SNS users form new personal relationships, or enhance
relationships with existing connections. However, according to
currently provided social networking services, personal information
may be open to other unspecified people, and as a result, users may
feel insecure. In addition, a user may inadvertently form
relationships with other users that do not have much in common with
user.
[0004] Therefore, an efficient friend recommendation system is
necessary that allows users having a particular bond or common
interest to form a relationship.
SUMMARY
[0005] Exemplary embodiments provide a method of recommending
friends, which is capable of effectively recommending friends
having common interests by recommending friends based on a
similarity of interest keywords information between a plurality of
terminals.
[0006] According to an aspect of an exemplary embodiment, a method
of recommending a friend, in a first terminal is provided. The
method includes: generating first interest keyword information by
analyzing event information of the first terminal, receiving second
interest keyword information of a second terminal, comparing the
first interest keyword information and the second interest keyword
information, and displaying information recommending a user of the
second terminal as a friend based on a result of the comparing.
[0007] The method may also include: collecting the event
information in the first terminal, wherein the collecting of the
event information comprises collecting at least one from among
location information of the first terminal, network information,
user status information, sent/received message information, phone
call history information, social networking service (SNS) usage
information, application usage information, web page usage
information, and payment information.
[0008] The generating the first interest keyword information may
include selecting at least one first interest keyword by analyzing
the event information, wherein the first interest keyword
information may include the at least one first interest keyword and
at least one from among first location information and first time
information corresponding to the first interest keyword.
[0009] The selecting the at least one first interest keyword may
include generalizing the event information into a higher level
first interest keyword.
[0010] The generalizing the event information may include setting a
generalization level for the generalizing the event information
into a higher level first interest keyword.
[0011] The selecting the at least one first interest keyword may
include extracting a plurality of candidate keywords by analyzing
the event information and selecting the at least one first interest
keyword from among the plurality of candidate keywords based on the
number of times each of the plurality of candidate keywords is
extracted.
[0012] The receiving of the second interest keyword information may
include receiving second interest keyword information comprising a
second interest keyword that is generalized as higher level
information based on event information of the second terminal.
[0013] The second interest keyword information may also include at
least one from among second location information and second time
information mapped to the second interest keyword.
[0014] The receiving of the second interest keyword information
from the second terminal may be performed through at least one from
among a wireless local area network (LAN), a near field
communication (NFC), Bluetooth, Zigbee, Wi-Fi Direct (WFD), and
ultra wideband (WUB) communication.
[0015] The displaying the information recommending a user of the
second terminal as a friend may include calculating a similarity
between the first interest keyword information and the second
interest keyword information based on the result of the comparing
and displaying the information recommending the user of the
seconder terminal as the friend if the similarity is a
predetermined value or greater.
[0016] The method may further include deleting the second interest
keyword information after a predetermined time has passed.
[0017] The method may also include receiving a command to perform a
sharing operation for sharing content, receiving a selection of a
zone to perform the sharing operation, and transmitting a friend
request message including information about the sharing operation
to the second terminal if the second interest keyword information
indicates that the second terminal is located in the selected
zone.
[0018] The method may also include receiving a friend acceptance
message from the second terminal in response to the transmitting
the friend request message; and sharing content collected by the
sharing operation with the second terminal in response to receiving
the friend acceptance message.
[0019] The sharing of the content may include transmitting first
content shared by the first terminal to the second terminal; and
receiving second content shared by the second terminal, from the
second terminal.
[0020] According to an aspect of another exemplary embodiment, a
first terminal for recommending a friend is provided. The first
terminal includes a display, a communication unit, and a controller
which is configured to control the communication unit to receive
second interest keyword information of a second terminal, generate
first interest keyword information by analyzing event information
of the first terminal, compare the first interest keyword
information and the second interest keyword information, and
control the display to display information recommending a user of
the second terminal as a friend based on a result of the
comparing.
[0021] The controller may be further configured to collect the
event information in the first terminal, and the event information
comprises at least one from among location information of the first
terminal, network information, user status information,
sent/received message information, phone call history information,
social networking service (SNS) usage information, application
usage information, web page usage information, and payment
information.
[0022] The controller may also be configured to analyze the event
information to select at least one first interest keyword. The
first interest keyword information may include the at least one
first interest keyword and at least one from among first location
information and first time information corresponding to the first
interest keyword.
[0023] The controller may also be configured to select the at least
one first interest keyword by generalizing the event information
into a higher level first interest keyword.
[0024] The controller may also be configured to set a
generalization level for the generalizing the event information
into the higher level first interest keyword.
[0025] The controller may also be configured to select the at least
one first interest keyword by extracting a plurality of candidate
keywords from the analyzed the event information, and select the at
least one first interest keyword from among the plurality of
candidate keywords based on the number of times each of the
plurality of candidate keywords are extracted.
[0026] The controller may also be configured to control the
communication unit to receive second interest keyword information
including a second interest keyword that is generalized as higher
level information based on event information of the second
terminal.
[0027] The second interest keyword information may also include at
least one from among second location information and second time
information mapped to the second interest keyword.
[0028] The communication unit may be configured to communicate with
the second terminal through at least one from among a wireless
local area network (LAN), a near field communication (NFC),
Bluetooth, Zigbee, Wi-Fi Direct (WFD), and ultra wideband (WUB)
communication.
[0029] The controller may also be configured to calculate a
similarity between the first interest keyword information and the
second interest keyword information based on the result of the
comparing, and control the display to display information
recommending the user of the second terminal as the friend if the
calculated similarity is a predetermined value or greater.
[0030] The controller may also be configured to delete the second
interest keyword information after a predetermined time has
passed.
[0031] The controller may also be configured to receive a command
to perform a sharing operation for sharing content, receive a
selection of a zone to perform the sharing operation, and control
the communication unit to transmit a friend request message
including information about the sharing operation to the second
terminal if the second interest keyword information indicates that
the second terminal is located in the selected zone.
[0032] The controller may also be further configured to control the
communication unit to receive a friend acceptance message from the
second terminal in response to the transmission of the friend
request message and share content with the second terminal in
response to the receipt of the friend acceptance message.
[0033] The controller may also be configured to control the
communication unit to transmit first content collected by the first
terminal to the second terminal and receive second content
collected by the second terminal, from the second terminal.
[0034] According to an aspect of another exemplary embodiment, a
method of recommending friends, in a friend recommendation server,
is provided. The method includes: receiving, from a first terminal,
first interest keyword information comprising a first keyword
mapped to at least one from among time information and location
information, receiving, from a second terminal, second interest
keyword information comprising a second keyword mapped to at least
one from among second time information and second location
information, comparing the first interest keyword information and
the second interest keyword information with each other; and
providing at least one from among the first terminal and the second
terminal with friend recommendation information based on a result
of the comparing.
[0035] According to an aspect of another exemplary embodiment,
there is provided a method of recommending a friend, in a first
terminal, the method including: collecting event information in the
first terminal; acquiring first interest keyword information by
analyzing the collected event information; receiving second
interest keyword information that is acquired by analyzing event
information in a second terminal, from the second terminal;
comparing the first interest keyword information and the second
interest keyword information with each other; and recommending a
user of the second terminal as a friend based on a result of the
comparing.
[0036] The collecting of the event information may include
collecting at least one from among location information of the
first terminal, network information, user status information,
sent/received message information, phone call history information,
social networking service (SNS) usage information, application
usage information, web page usage information, and payment
information.
[0037] The acquiring of the first interest keyword information may
include selecting at least one first interest keyword by analyzing
the event information, and the first interest keyword information
may include at least one from among first location information and
first time information corresponding to the first interest keyword.
The acquiring of the first interest keyword information may include
generalizing at least one from among the first location information
and the first time information as higher level information.
[0038] The method may further include setting a generalization
level for generalizing the at least one from among the first
location information and the first time information as higher level
information.
[0039] The selecting of the first interest keyword may include:
extracting a plurality of candidate keywords by analyzing the event
information; and selecting the first interest keyword from among
the plurality of candidate keywords based on the number of times
each of the candidate keywords are extracted.
[0040] The extracting of the plurality of candidate keywords may
include analyzing the event information by using a natural language
processing (NLP) technology.
[0041] The acquiring of the first interest keyword information may
include: generalizing the first interest keyword as a higher level
word based on WordNet, which is a hierarchical lexical database;
and mapping at least one from among the first location information
and the first time information to the generalized first interest
keyword.
[0042] The acquiring of the first interest keyword information may
include generating the first interest keyword information to be in
an extraction frequency matrix format about the generalized first
interest keyword, by setting the generalized first interest keyword
as a first axis and at least one from among the first location
information and the first time information as a second axis.
[0043] The acquiring of the first interest keyword information may
further include acquiring a plurality of first feature vectors
about the first interest keyword information by performing
non-negative matrix factorization on the first interest keyword
information generated in the extraction frequency matrix
format.
[0044] The receiving of the second interest keyword information may
include receiving second interest keyword information that is
generalized as higher level information after receiving an input of
a generalization level in the second terminal.
[0045] The receiving of the second interest keyword information may
include receiving the second interest keyword information, in which
at least one from among second location information and second time
information is mapped to the second interest keyword that is
generalized as a higher level word.
[0046] The receiving of the second interest keyword information may
include receiving the second interest keyword information generated
in an extraction frequency matrix format about the second interest
keyword that is generalized as the higher level word, by setting
the generalized second interest keyword as a first axis and at
least one from among the second location information and the second
time information as a second axis.
[0047] The receiving of the second interest keyword information may
include receiving a plurality of second feature vectors that are
generated by performing non-negative matrix factorization on the
second interest keyword information that is generated in the
extraction frequency matrix format.
[0048] The receiving of the second interest keyword information
from the second terminal may be performed through one of a wireless
local area network (LAN), a near field communication (NFC),
Bluetooth, Zigbee, Wi-Fi Direct (WFD), and ultra wideband (WUB)
communication.
[0049] The first interest keyword information about the first
interest keyword that is generalized as a higher level word and the
second interest keyword information about the second interest
keyword that is generalized as a higher level word may be compared
with each other.
[0050] The comparing may include comparing a plurality of first
feature vectors that are generated through non-negative matrix
factorization of the first interest keyword information and a
plurality of second feature vectors that are generated through
non-negative matrix factorization of the second interest keyword
information.
[0051] The recommending of the friend may include: calculating a
similarity between the first interest keyword information and the
second interest keyword information based on the result of the
comparing; and when the calculated similarity is a predetermined
value or greater, recommending a user of the second terminal as a
friend.
[0052] The method may further include deleting the second interest
keyword information after a predetermined time has passed.
[0053] The collecting of the event information in the first
terminal may include: receiving a setting about a sharing operation
for sharing content; and transmitting a friend request message
including information about the sharing operation to the second
terminal, wherein the receiving of the second interest keyword
information may include receiving an acceptance message
corresponding to the friend request message from the second
terminal, and the recommending of the friend may include
recommending the user of the second terminal that transmits the
acceptance message as a friend.
[0054] The method may further include: sensing the sharing
operation; and sharing content collected by the sharing operation
with the second terminal.
[0055] The sharing of the content may include: transmitting a first
content collected by the sharing operation in the first terminal to
the second terminal; and receiving a second content collected by
the sharing operation in the second terminal, from the second
terminal.
[0056] The sharing of the content may include sharing the content
collected by the sharing operation with the second terminal via a
sharing server.
[0057] The receiving of the setting about the sharing operation may
include receiving a setting about a zone where the sharing
operation is applied.
[0058] The method may further include: sensing the sharing
operation in the zone; and sharing the content collected by the
sharing operation with the second terminal.
[0059] The method may further include: sensing a user gesture for
requesting a sharing panel; and displaying at least one from among
information about the sharing operation, applications relating to
the sharing operation, and information about at least one friend
connected by the sharing operation on the sharing panel, in
response to the user gesture.
[0060] According to an aspect of another exemplary embodiment,
there is provided a method of recommending friends, in a friend
recommendation server, the method including: receiving first
interest keyword information that is acquired based on event
information collected by a first terminal, from the first terminal;
receiving second interest keyword information that is acquired
based on event information collected by a second terminal, from the
second terminal; comparing the first interest keyword information
and the second interest keyword information with each other; and
providing at least one from among the first terminal and the second
terminal with friend recommendation information based on a result
of the comparing.
[0061] The event information may include at least one from among
location information of the first terminal, network information,
user status information, sent/received message information, phone
call history information, social networking service (SNS) usage
information, application usage information, web page usage
information, and payment information.
[0062] The first interest keyword information may include
information about a first interest keyword to which at least one
from among first location information and first time information is
mapped, and the second interest keyword information may include
information about a second interest keyword to which at least one
from among second location information and first time information
is mapped.
[0063] At least one from among the first location information, the
first time information, the second location information, and the
second time information may be generalized as higher level
information.
[0064] The first interest keyword information may include
information about a first interest keyword that is generalized as a
higher level word based on WordNet (hierarchical lexical database),
and the second interest keyword information may include information
about a second interest keyword that is generalized as a higher
level word based on the WordNet.
[0065] The method may include receiving the first interest keyword
information in an extraction frequency matrix format about the
generalized first interest keyword, generated by setting the
generalized first interest keyword as a first axis and at least one
from among the first location information and the first time
information as a second axis, and receiving the second interest
keyword information in an extraction frequency matrix format about
the generalized second interest keyword, generated by setting the
generalized second interest keyword as a first axis and at least
one from among the second location information and the second time
information as a second axis.
[0066] The method may include receiving a plurality of first
feature vectors about the first interest keyword information by
performing non-negative matrix factorization on the first interest
keyword information generated in the extraction frequency matrix
format, and receiving a plurality of second feature vectors about
the second interest keyword information by performing non-negative
matrix factorization on the second interest keyword information
generated in the extraction frequency matrix format.
[0067] The method may include comparing the first interest keyword
information about a first interest keyword that is generalized as a
higher level word and the second interest keyword information about
a second interest keyword that is generalized as a higher level
word.
[0068] The method may include comparing a plurality of first
feature vectors that are generated through non-negative matrix
factorization of the first interest keyword information and a
plurality of second feature vectors that are generated through
non-negative matrix factorization of the second interest keyword
information.
[0069] The method may include calculating a similarity between the
first interest keyword information and the second interest keyword
information based on the result of the comparing; and when the
calculated similarity is a predetermined value or greater,
providing at least one from among the first terminal and the second
terminal with friend recommendation information.
[0070] The method may further include providing at least one from
among the first terminal and the second terminal in further
consideration of locations of the first terminal and the second
terminal.
[0071] The method may further include deleting the first interest
keyword information and the second interest keyword information
after a predetermined time has passed.
[0072] The method may include receiving the first interest keyword
information and the second interest keyword information for a
predetermined time from the first terminal and the second terminal
located at predetermined locations.
[0073] According to an aspect of another exemplary embodiment,
there is provided a first terminal for recommending a friend, the
first terminal including: an event information collection unit for
collecting event information about events occurring in the first
terminal; an interest keyword information manager for acquiring
first interest keyword information by analyzing the collected event
information; a communication unit for receiving second interest
keyword information that is acquired by analyzing event information
in a second terminal, from the second terminal; a recommendation
unit for comparing the first interest keyword information and the
second interest keyword information with each other, and
recommending a user of the second terminal as a friend based on a
result of the comparing; and a controller for controlling the event
information collection unit, the interest keyword information
manager, the communication unit, and the recommendation unit.
[0074] The event information collection unit may collect at least
one from among location information of the first terminal, network
information, user status information, sent/received message
information, phone call history information, social networking
service (SNS) usage information, application usage information, web
page usage information, and payment information.
[0075] The interest keyword information manager may select at least
one first interest keyword by analyzing the event information, and
the first interest keyword information may include at least one
from among first location information and first time information
corresponding to the first interest keyword.
[0076] The interest keyword information manager may generalize at
least one from among the first location information and the first
time information as higher level information. The controller may
set a generalization level for generalizing the at least one from
among the first location information and the first time information
as higher level information.
[0077] The interest keyword information manager may extract a
plurality of candidate keywords by analyzing the event information,
and may select the first interest keyword from among the plurality
of candidate keywords based on the number of times each of the
candidate keywords are extracted.
[0078] The interest keyword information manager may extract the
plurality of candidate keywords by analyzing the event information
by using a natural language processing (NLP) technology.
[0079] The interest keyword information manager may generalize the
first interest keyword as a higher level word based on WordNet,
which is a hierarchical lexical database, and may map at least one
from among the first location information and the first time
information to the generalized first interest keyword.
[0080] The interest keyword information manager may generate the
first interest keyword information to be in an extraction frequency
matrix format about the generalized first interest keyword, by
setting the generalized first interest keyword as a first axis and
at least one from among the first location information and the
first time information as a second axis.
[0081] The interest keyword information manager may acquire a
plurality of first feature vectors about the first interest keyword
information by performing non-negative matrix factorization on the
first interest keyword information generated in the extraction
frequency matrix format.
[0082] The communication unit may receive second interest keyword
information that is generalized as higher level information after
receiving an input of a generalization level in the second
terminal.
[0083] The communication unit may receive the second interest
keyword information, in which at least one from among second
location information and second time information may be mapped to
the second interest keyword that is generalized as a higher level
word.
[0084] The communication unit may receive the second interest
keyword information generated to be in an extraction frequency
matrix format about the second interest keyword that is generalized
as the higher level word, by setting the generalized second
interest keyword as a first axis and at least one from among the
second location information and the second time information as a
second axis.
[0085] The communication unit may receive a plurality of second
feature vectors that are generated by performing non-negative
matrix factorization on the second interest keyword information
that is generated in the extraction frequency matrix format.
[0086] The communication unit may receive from the second terminal
the second interest keyword information from the second terminal
through at least one from among a wireless local area network
(LAN), a near field communication (NFC), Bluetooth, Zigbee, Wi-Fi
Direct (WFD), and ultra wideband (WUB) communication.
[0087] The recommendation unit may compare the first interest
keyword information about the first interest keyword that is
generalized as a higher level word and the second interest keyword
information about the second interest keyword that is generalized
as a higher level word.
[0088] The recommendation unit may compare a plurality of first
feature vectors that are generated through non-negative matrix
factorization of the first interest keyword information and a
plurality of second feature vectors that are generated through
non-negative matrix factorization of the second interest keyword
information.
[0089] The recommendation unit may calculate a similarity between
the first interest keyword information and the second interest
keyword information based on the result of the comparing, and when
the calculated similarity is a predetermined value or greater, may
recommend a user of the second terminal as a friend.
[0090] The controller may delete the second interest keyword
information after a predetermined time has passed.
[0091] The event information collection unit may receive a setting
about a sharing operation for sharing content, the communication
unit may transmit a friend request message including information
about the sharing operation to the second terminal and receives an
acceptance message corresponding to the friend request message from
the second terminal, and the recommendation unit may recommend the
user of the second terminal that transmits the acceptance message
as a friend.
[0092] The event information collection unit may sense the sharing
operation, and may share content collected by the sharing operation
with the second terminal.
[0093] The communication unit may transmit a first content
collected by the sharing operation in the first terminal to the
second terminal, and may receive a second content collected by the
sharing operation in the second terminal, from the second
terminal.
[0094] The communication unit may share the content collected by
the sharing operation with the second terminal via a sharing
server.
[0095] The event information collection unit may further receive a
setting about a zone where the sharing operation is applied.
[0096] The event information collection unit may sense the sharing
operation in the zone, and may share the content collected by the
sharing operation with the second terminal.
[0097] The event information collection unit may sense a user
gesture for requesting a sharing panel, and the controller may
display at least one from among information about the sharing
operation, applications relating to the sharing operation, and
information about at least one friend connected by the sharing
operation on the sharing panel, in response to the user
gesture.
[0098] According to an aspect of another exemplary embodiment,
there is provided a friend recommendation server including a
communication unit receiving first interest keyword information
that is acquired based on event information collected by a first
terminal, from the first terminal and receiving second interest
keyword information that is acquired based on event information
collected by a second terminal, from the second terminal; a
recommendation unit comparing the first interest keyword
information and the second interest keyword information with each
other and providing at least one from among the first terminal and
the second terminal with friend recommendation information based on
a result of the comparing; and a controller for controlling the
communication unit and the recommendation unit.
[0099] The communication unit may receive the first interest
keyword information in an extraction frequency matrix format about
the generalized first interest keyword, generated by setting the
generalized first interest keyword as a first axis and at least one
from among the first location information and the first time
information as a second axis, and may receive the second interest
keyword information in an extraction frequency matrix format about
the generalized second interest keyword, generated by setting the
generalized second interest keyword as a first axis and at least
one from among the second location information and the second time
information as a second axis.
[0100] The communication unit may receive a plurality of first
feature vectors about the first interest keyword information by
performing non-negative matrix factorization on the first interest
keyword information generated in the extraction frequency matrix
format, and may receive a plurality of second feature vectors about
the second interest keyword information by performing non-negative
matrix factorization on the second interest keyword information
generated in the extraction frequency matrix format.
[0101] The recommendation unit may compare the first interest
keyword information about a first interest keyword that is
generalized as a higher level word and the second interest keyword
information about a second interest keyword that is generalized as
a higher level word.
[0102] The recommendation unit may compare a plurality of first
feature vectors that are generated through non-negative matrix
factorization of the first interest keyword information and a
plurality of second feature vectors that are generated through
non-negative matrix factorization of the second interest keyword
information. The recommendation unit may calculate a similarity
between the first interest keyword information and the second
interest keyword information based on the result of the comparing;
and when the calculated similarity is a predetermined value or
greater, may provide at least one from among the first terminal and
the second terminal with friend recommendation information.
[0103] The recommendation unit may provide at least one from among
the first terminal and the second terminal in further consideration
of locations of the first terminal and the second terminal.
[0104] The controller may delete the first interest keyword
information and the second interest keyword information after a
predetermined time has passed.
[0105] The communication unit may receive the first interest
keyword information and the second interest keyword information for
a predetermined time from the first terminal and the second
terminal located at predetermined locations.
BRIEF DESCRIPTION OF THE DRAWINGS
[0106] The above and other features and advantages more apparent by
describing in detail exemplary embodiments with reference to the
attached drawings in which:
[0107] FIG. 1 is a block diagram of a friend recommending system
according to an exemplary embodiment;
[0108] FIG. 2 is a block diagram of a first terminal according to
an exemplary embodiment;
[0109] FIG. 3 is a flowchart illustrating a method of recommending
friends, in the first terminal, according to an exemplary
embodiment;
[0110] FIG. 4 is a flowchart illustrating a method of acquiring
first interest keyword information by the first terminal, according
to an exemplary embodiment;
[0111] FIGS. 5A and 5B are diagrams showing first location
information and first time information corresponding to first
interest keyword information, according to an exemplary
embodiment;
[0112] FIG. 6 is a conceptual view of a WordNet (a hierarchical
lexical database) according to an exemplary embodiment;
[0113] FIG. 7 is a diagram showing an extraction frequency matrix
of the first interest keyword according to an exemplary
embodiment;
[0114] FIG. 8 is a diagram showing a non-negative matrix
factorization (NMF) result of the extraction frequency matrix about
the first interest keyword, according to an exemplary
embodiment;
[0115] FIG. 9 is a diagram illustrating a method of recommending
friends, in a first terminal, according to an aspect of another
exemplary embodiment;
[0116] FIG. 10 is a friend recommending system according to an
aspect of another exemplary embodiment;
[0117] FIG. 11 is a block diagram of a friend recommending server
according to an exemplary embodiment;
[0118] FIG. 12 is a flowchart illustrating a method of recommending
friends, in the friend recommending server, according to an
exemplary embodiment;
[0119] FIG. 13 is a flowchart illustrating a method of recommending
friends, in the friend recommending server, in more detail,
according to an exemplary embodiment;
[0120] FIG. 14 is a diagram showing a friend recommending screen in
the first terminal, according to an exemplary embodiment;
[0121] FIG. 15 is a diagram showing a friend recommending screen
among a plurality of terminals existing in a certain time and
space;
[0122] FIGS. 16A and 16B are diagrams showing a friend recommending
screen displayed by the first terminal via a social networking
service (SNS) application;
[0123] FIGS. 17A and 17B are diagrams showing a friend
recommendation screen displayed through a travel application in the
first terminal according to an exemplary embodiment;
[0124] FIG. 18 is a flowchart illustrating a method of recommending
friends by using a sharing operation, according to an exemplary
embodiment;
[0125] FIG. 19 is a flowchart illustrating a method of recommending
a friend by using a sharing operation, according to an aspect of
another exemplary embodiment;
[0126] FIGS. 20A through 20C are diagrams illustrating a method of
broadcasting a friend request message, according to an exemplary
embodiment;
[0127] FIGS. 21A and 21B are diagrams illustrating a method of
transmitting a friend request message through Bluetooth low energy
(BLE) communication;
[0128] FIGS. 22A and 22B are diagrams illustrating a method of
sharing content collected by the sharing operation, according to an
exemplary embodiment;
[0129] FIGS. 23A and 23B are diagrams illustrating a method of
sharing content through a sharing server, according to an exemplary
embodiment;
[0130] FIGS. 24A and 24B are diagrams showing a screen displaying a
content sharing check window, according to an exemplary embodiment;
and
[0131] FIGS. 25A through 25E are diagrams illustrating a method of
sharing content through a sharing panel, according to an exemplary
embodiment.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0132] Terms used herein will be briefly described, and exemplary
embodiments will be described in detail below.
[0133] General and widely-used terms have been employed herein, in
consideration of functions provided in exemplary embodiments, and
may vary according to an intention of one of ordinary skill in the
art, a precedent, or emergence of new technologies. Additionally,
in some cases, an applicant may arbitrarily select specific terms,
in which case, the applicant will provide the meaning of the terms
in the description of exemplary embodiments Accordingly, It will be
understood that the terms used herein should be interpreted as
having a meaning that is consistent with their meaning in the
context of the relevant art and will not be interpreted in an
idealized or overly formal sense unless expressly so defined
herein.
[0134] It will be further understood that the terms "comprises,"
"comprising," "includes," and/or "including," when used herein,
specify the presence of components, but do not preclude the
presence or addition of one or more other components, unless
otherwise specified. Additionally, terms used herein, such as
`unit` or `module`, mean entities for processing at least one
function or operation. These entities may be implemented by
hardware, software, or a combination of hardware and software.
[0135] Exemplary embodiments will now be described more fully with
reference to the accompanying drawings. The exemplary embodiments
may, however, be embodied in many different forms and should not be
construed as being limited to the exemplary embodiments set forth
herein. In the description of exemplary embodiments, certain
detailed explanations are omitted when it is deemed that they may
unnecessarily obscure the essence of the exemplary embodiments.
Like numbers refer to like elements throughout the description of
the figures. As used herein, the term "and/or" includes any and all
combinations of one or more of the associated listed items.
Expressions such as "at least one of," when preceding a list of
elements, modify the entire list of elements and do not modify the
individual elements of the list.
[0136] FIG. 1 is a diagram showing a friend recommending system
according to an exemplary embodiment.
[0137] As shown in FIG. 1, the friend recommending system according
to an exemplary embodiment may include a plurality of terminals,
for example, a first terminal 100, a second terminal 200, a third
terminal, . . . , and an N-th terminal.
[0138] The first terminal 100, the second terminal 200, the third
terminal, . . . , and the N-th terminal according to an exemplary
embodiment may transmit/receive information about interest keywords
to and/or from each other, and may compare their own interest
keyword information with interest keyword information of a
counterpart to recommend a user of the counterpart terminal as a
friend.
[0139] Hereinafter, a method of recommending friends, in the first
terminal 100 from among the plurality of terminals, will be
described as an example. The method of recommending friends, in the
first terminal 100, according to an exemplary embodiment may be
applied to the other terminals. For convenience of description, the
second terminal 200 will be described as a representative terminal
of an external device.
[0140] The first terminal 100 and the second terminal 200 according
to an exemplary embodiment may be implemented as various types of
terminals. For example, the first terminal 100 and the second
terminal 200 may be mobile phones, smartphones, laptop computers,
computers, tablet PCs, electronic book terminals, smart televisions
(TVs), digital broadcasting terminals, personal digital assistants
(PDAs), portable multimedia players (PMPs), and navigation devices;
however, the exemplary embodiments are not limited thereto.
[0141] Hereinafter, configurations of the first terminal 100 will
be described in more detail with reference to FIG. 2.
[0142] FIG. 2 is a block diagram showing the first terminal 100
according to an exemplary embodiment.
[0143] As shown in FIG. 2, the first terminal 100 may include an
event information collection unit 110, an interest keyword
information manager 120, a communication unit 130, a recommendation
unit 140, and a controller 150. However, the first terminal 100 may
include more components than those of FIG. 2, or less components
than those of FIG. 2.
[0144] Hereinafter, the above components will be described in
detail.
[0145] The event information collection unit 110 senses various
kinds of events occurring in the first terminal 100, and may
collect information about the various kinds of events that are
sensed.
[0146] The event information collection unit 110 according to an
exemplary embodiment may include various sensors for collecting the
event information. For example, the event information collection
unit 110 may include an acceleration sensor, a tilt sensor, a gyro
sensor, a 3-axis magnetic sensor, a voice recognition sensor, an
illuminance sensor, a temperature sensor, an image sensor (for
example, a camera), and a touch sensor.
[0147] The event information collection unit 110 of an exemplary
embodiment may collect location information or network information
of the first terminal 100. For example, the event information
collection unit 110 may collect global positioning system (GPS)
coordinate information, Cell-ID information, Wi-Fi access point
(AP) information, etc.
[0148] The event information collection unit 110 of an exemplary
embodiment may collect status information of a user. The status
information of the user is information about movements of the user
or activity patterns of the user, that is, information about a
walking status of the user, a workout status of the user, a driving
status of the user, a sleeping status of the user, etc. For
example, if the user connects the first terminal to a stand in
his/her house, the event information collection unit 110 may
determine that the user is in the sleeping status in consideration
of location information, tilt information, movement information,
current time information, and alarm setting information of the
first terminal 100. In addition, if the user connects the first
terminal 100 to a holder in his/her car, the event information
collection unit 110 may determine that the user is in the driving
status in consideration of location information, tilt information,
and movement information of the first terminal 100.
[0149] The event information collection unit 110 according to an
exemplary embodiment may collect contents input from a user input
unit. For example, the event information collection unit 110 may
collect information such as text, drawings, and signs input from
the user via a touch screen, or may recognize a voice of the user
and collect the content input from the voice of the user.
[0150] The event information collection unit 110 according to an
exemplary embodiment may collect sent/received message information,
sent/received e-mail information, calling list information, social
networking service (SNS) usage information, and web page usage
information. For example, the event information collection unit 110
may collect sent/received time of a message or an e-mail, contents
in the sent/received message or e-mail, calling content, calling
time, counterpart information, time of accessing an SNS server, SNS
usage list, information received from the SNS server, time of
accessing a web page, and web page usage list.
[0151] The event information collection unit 110 according to an
exemplary embodiment may collect information about application
usage in the first terminal 100. For example, if the user keeps
household accounts after executing an account book application, the
event information collection unit 110 may collect information about
expenditure, income, and investment recorded in the account book.
In addition, if the user inputs his/her scheduling information
after executing a schedule management application, the event
information collection unit 110 may collect schedule information of
the user. Further, the event information collection unit 110 may
also collect information about captured contents that are captured
by the user after executing a capture application, or may collect
information about music selected by the user through a music
application.
[0152] The event information collection unit 110 may collect
information such as identification information of an application
that is installed or searched for by the user, information about a
kind of the application, time when the application is used, and
usage period of the application. In addition, if the user makes a
payment by using a mobile card in the first terminal 100, the event
information collection unit 110 may collect payment information of
the user, and consumption pattern information of the user.
[0153] That is, the event information collection unit 110 of an
exemplary embodiment may collect the information about the event
occurring in the first terminal 100 and information about the user
of the first terminal 100 by using various sensors. Here, the event
information collection unit 110 of an exemplary embodiment may
collect the event information at predetermined periods, or may
collect the event information in real-time when the event
occurs.
[0154] The event information collection unit 110 of an exemplary
embodiment may receive settings about a sharing operation for
sharing contents. The sharing operation according to an exemplary
embodiment may vary. For example, the sharing operation may include
a photographing operation, a voice recording operation, a music
playing operation, a screen capturing operation, etc.; however,
exemplary embodiments are not limited thereto.
[0155] The event information collection unit 110 may further
receive settings about a zone where the sharing operation is
applied. The zone where the sharing operation is applied according
to an exemplary embodiment may be a communication range of the
first terminal 100, region, distance or a predetermined point, or a
building or a space set, by the user; however, exemplary
embodiments are not limited thereto.
[0156] According to an exemplary embodiment, the event information
collection unit 110 may sense a sharing operation. In addition, the
event information collection unit 110 may sense whether the first
terminal 100 is located within the zone where the sharing operation
is applied.
[0157] The event information collection unit 110 may sense a user
gesture for requesting a sharing panel. The user gesture for
requesting the sharing panel according to an exemplary embodiment
may vary. For example, the user gesture for requesting the sharing
panel may include a gesture of dragging or flicking from a side of
the first terminal 100 to the other side, a gesture of selecting a
predetermined button, or a gesture of tapping or double-tapping a
predetermined region of a screen in the first terminal 100;
however, the exemplary embodiments are not limited thereto.
[0158] The interest keyword information manager 120 may acquire
first interest keyword information by analyzing the event
information collected from the first terminal 100. The first
interest keyword information of an exemplary embodiment is
information about at least one or more interest keywords that are
extracted a predetermined number of times or greater by analyzing
the event information. The first interest keyword information of an
exemplary embodiment may include a first interest keyword, first
location information corresponding to the first interest keyword
information, and first time information corresponding to the first
interest keyword.
[0159] The first interest keyword according to an exemplary
embodiment may be a keyword that is extracted a predetermined
number of times from a plurality of candidate keywords (proper
nouns) that are extracted from the event information by using a
natural language processing (NLP) technology. That is, the first
interest keyword may denote a keyword that is extracted from events
frequently occurring in the first terminal 100. There may be a
plurality of first interest keywords according to an exemplary
embodiment.
[0160] The first location information corresponding to the first
interest keyword according to an exemplary embodiment may be
information about location where the event, from which the first
interest keyword is extracted, occurs. In addition, the first time
information corresponding to the first interest keyword according
to an exemplary embodiment may be information about a time when the
event, from which the first interest keyword is extracted,
occurs.
[0161] For example, when the user of the first terminal 100 sends a
message "Do you want to go to the ballpark?" to a friend in a part
A at 15:00, Feb. 15, 2012, the interest keyword information manager
120 may extract a first interest keyword, that is, ballpark, from
the text message. Here, the location of the park A where the text
message is sent is the first location information corresponding to
the first interest keyword, and the time, that is, 15:00, Feb. 15,
2012, when the text message is sent, is the first time information
corresponding to the first interest keyword.
[0162] That is, according to an exemplary embodiment, the interest
keyword information manager 120 may generate the first interest
keyword information by mapping at least one from among the first
location information and the first time information to the first
interest keyword.
[0163] If there are a plurality of events from which the first
interest keyword is extracted and locations and times of the
plurality of events are different from each other, the interest
keyword information manager 120 analyzes the locations and the
times where and when the plurality of events from which the first
interest keyword is extracted occur, to set a location and a time
having statistically high frequencies of occurrence as first
location information and first time information, and may map the
first location information and the first time information to the
first interest keyword.
[0164] According to an exemplary embodiment, the interest keyword
information manager 120 may generalize at least one from among the
first location information and the first time information as higher
level information, and may map the higher level information to the
first interest keyword. In addition, the interest keyword
information manager 120 may generalize the first interest keyword
as a higher level word based on WordNet (a hierarchical lexical
database), and may remap at least one from among the first location
information and the first time information to the generalized first
interest keyword.
[0165] WordNet is a database that builds correlations between words
by using information about semantics and usage patterns of words. A
basic structure of the WordNet includes logical groups called
synsets, each containing a group of synonymous words, and semantic
relations defining relations between the synsets. The semantic
relations may include hypernyms, hyponyms, meronyms, and holonyms.
In a noun section of the WordNet, an entity is the highest word
that is expanded according to semantics to form lower level words.
Therefore, the WordNet may be a kind of ontology in which
conceptual words are classified and defined to form a hierarchical
structure.
[0166] An ontology is a formal and explicit specification of a
shared conceptualization. The ontology may be interpreted as a kind
of dictionary including words and relations, in which words
relating to a certain domain are represented hierarchically and
inference rules for expanding the words additionally are
included.
[0167] According to another exemplary embodiment, the interest
keyword information manager 120 may extract a higher level word of
a noun that is extracted by using the NLP technology as a candidate
keyword. In this case, the first interest keyword may be keywords
of predetermined generalized levels. For example, if nouns such as
dog, cat, hamster, guinea pig, baseball, basketball, soccer, sports
car, SUV, Volkswagen, Blue Marble, Monopoly, Catan, and Jenga are
extracted through the event information analyzing, the first
terminal 100 may extract a word `pets` that is a higher level word
of the dog, cat, hamster, and guinea pig, a word `sports` that is a
higher level word of baseball, basketball, and soccer, a word `car`
that is a higher level word of SUV, sports car, and Volkswagen, and
a word `board game` that is a higher level word of Blue Marble,
Monopoly, Catan, and Jenga as candidate keywords. Here, if the
number of extraction times of the candidate keyword `pets` is 100,
the number of extraction times of the candidate keyword `sports` is
10, the number of the extraction times of the candidate keyword
`car` is 200, and the number of extraction times of the candidate
keyword `board game` is 70, the first terminal 100 may select the
words `car`, `pets`, and `board game` as the first interest word
keywords based on the number of extraction times.
[0168] According to an exemplary embodiment, the interest keyword
information manager 120 may configure the first interest keyword
information as a matrix. For example, the interest keyword
information manager 120 generates the first interest keyword
information as an extraction frequency matrix with respect to the
generalized first interest keyword, which includes the generalized
first interest keyword as a first axis and at least one from among
the first location information and the first time information as a
second axis.
[0169] In addition, the interest keyword information manager 120
performs non-negative matrix factorization on the first interest
keyword information generated as the extraction frequency matrix,
to obtain a plurality of first feature vectors of the first
interest keyword information.
[0170] The non-negative matrix factorization is a method of
extracting partial information consisting of two matrices from a
large amount of object information including non-negatives, and
representing the object by using linear combinations of the two
matrices. A first extracted matrix may represent partial
information of the object, and a second extracted matrix may
represent a weighed value of the partial information.
[0171] According to an exemplary embodiment, the interest keyword
information manager 120 may be realized as a personalization server
of the first terminal 100. This will be described in more detail
later with reference to FIG. 9.
[0172] The communication unit 130 may include one or more
components enabling communication with an external device and a
network in which the external device is located. For example, the
communication unit 130 may include a short distance communication
module, a wireless internet module, a mobile communication module,
and a location information module.
[0173] The short distance communication module is used when
communicating within a short distance range and may be, for
example, a Bluetooth, ultra wideband (UWB), Zigbee, near field
communication (NFC), Wi-Fi direct (WFD), or infrared data
association (IrDA) based module.
[0174] The wireless internet module is a module for wireless
internet access, and may be embedded in or disposed outside the
first terminal 100. The mobile communication module
transmits/receives wireless signals to/from at least one from among
a base station, an external device, and a server on a mobile
communication network. The wired Internet module is a module for
accessing Internet.
[0175] The location information module is a module for identifying
or obtaining a location of the first terminal 100 and may be, for
example, a GPS module. The GPS module receives location information
from a plurality of satellites. Here, the location information may
include coordinate information represented by latitude and
longitude.
[0176] The communication unit 130 of an exemplary embodiment may
transmit the first interest keyword information to the external
device, and may receive interest keyword information from the
external device. For example, the communication unit 130 of an
exemplary embodiment may transmit the first interest keyword
information to the second terminal 200, and may receive second
interest keyword information from the second terminal 200. The
second interest keyword information according to an exemplary
embodiment may be information generated by the second terminal 200
based on event information collected by the second terminal
200.
[0177] The communication unit 130 of an exemplary embodiment may
receive the second interest keyword information in a format, in
which at least one from among second location information and
second time information is mapped to a second interest keyword that
is generalized as a higher level word. The second location
information according to an exemplary embodiment is information
about a location where an event, from which the second interest
keyword is extracted, occurs, and the second time information is
information about a time when the event, from which the second
interest keyword is extracted, occurs.
[0178] The communication unit 130 may receive second interest
keyword information as an extraction frequency matrix type about
the second interest keyword that is generalized as the higher level
word. For example, the communication unit 130 may receive the
second interest keyword information of an extraction frequency
matrix type of the second interest keyword that is generalized as
the higher level word, wherein the matrix is formed by setting the
second interest keyword that is generalized as the higher level
word as a first axis and at least one from among the second
location information and the second time information as a second
axis.
[0179] The communication unit 130 according to an exemplary
embodiment may receive a plurality of second feature vectors
generated by performing non-negative matrix factorization on the
second interest keyword information in the extraction frequency
matrix form. Here, the communication unit 130 of an exemplary
embodiment receives the second feature vectors from the second
terminal 200, and transmits the first feature vectors to the second
terminal 200 to reduce a data transmission amount.
[0180] The communication unit 130 according to an exemplary
embodiment transmits a friend request message including information
about a predetermined sharing operation to the second terminal 200,
and may receive an acceptance message corresponding to the friend
request message from the second terminal 200.
[0181] The communication unit 130 may share content collected by a
predetermined sharing operation with the second terminal 200. For
example, the communication unit 130 may transmit first content
collected by a predetermined sharing operation in the first
terminal 100 to the second terminal 200, and may receive second
content collected by a predetermined sharing operation in the
second terminal 200 from the second terminal 200.
[0182] In addition, the communication unit 130 may share the
content collected by the sharing operation with the second terminal
200 via a shared server. The recommendation unit 140 may compare
the first interest keyword information with the second interest
keyword information. According to an exemplary embodiment, the
recommendation unit 140 may compare the first interest keyword
information about the first interest keyword that is generalized as
the higher level word and the second interest keyword information
about the second interest keyword that is generalized as the higher
level word with each other. The recommendation unit 140 may compare
the plurality of the first feature vectors about the first interest
keyword information and the plurality of the second feature vectors
about the second interest keyword information with each other,
wherein the first and second feature vectors are generated through
the non-negative matrix factorization.
[0183] In addition, the recommendation unit 140 according to an
exemplary embodiment may recommend the user of the second terminal
200 as a friend based on a result of comparing the first interest
keyword information and the second interest keyword
information.
[0184] That is, the recommendation unit 140 of an exemplary
embodiment calculates a similarity between the first interest
keyword information and the second interest keyword information,
and may recommend the user of the second terminal 200 as a friend
when the calculated similarity is equal to or greater than a
predetermined value. For example, when the similarity between the
first interest keyword information and the second interest keyword
information is 80% or greater, the recommendation unit 140 may
recommend the user of the second terminal 200 as a friend.
[0185] According to an exemplary embodiment, the recommendation
unit 140 may calculate the similarity by calculating
root-mean-square-error (RMSE) values of the first interest keyword
information and the second interest keyword information.
[0186] According to an exemplary embodiment, the recommendation
unit 140 may recommend the user of the second terminal 200 that
transmits an acceptance message corresponding to the friend request
message including at least one from among information about the
sharing operation and information about the zone where the sharing
operation is applied as a friend.
[0187] According to an exemplary embodiment, the first terminal 100
may recommend the user of the second terminal 200 as a friend while
displaying information about the user of the second terminal 200 on
a display unit (not shown).
[0188] The display unit (not shown) according to an exemplary
embodiment may include at least one from among a liquid crystal
display (LCD), a thin film transistor (TFT)-LCD, an organic light
emitting diode (OLED), a flexible display, a 3-dimensional (3D)
display, an electrophoretic display, and a transparent display. In
addition, the first terminal 100 may include two or more display
units (not shown) according to the type of the first terminal
100.
[0189] The controller 150 generally controls overall operations of
the first terminal 100. That is, the controller 150 may control the
event information collection unit 110, the interest keyword
information manager 120, the communication unit 130, and the
recommendation unit 140.
[0190] The controller 150 of an exemplary embodiment may set a
generalization level for generalizing at least one from among the
first interest keyword, the first location information, and the
first time information as higher level information. The controller
150 may set the generalization level automatically, or based on a
user input of the first terminal 100.
[0191] The controller 150 of an exemplary embodiment may delete the
second interest keyword information from a memory (not shown) after
a predetermined time period has passed, in order to protect
personal information of the user of the second terminal 200.
[0192] The controller 150 of an exemplary embodiment may provide a
sharing panel in response to a user gesture or input for requesting
the sharing panel. Here, the controller 150 may display at least
one from among information about a predetermined sharing operation,
applications relating to the predetermined sharing operation, and
information about at least one friend connected by the
predetermined sharing operation on the sharing panel.
[0193] The first terminal 100 according to an exemplary embodiment
may further include the memory (not shown). The memory (not shown)
may store processing and controlling programs of the controller
150, or may store input/output data (for example, interest keyword
information of an external device, WordNet information, etc.). The
first terminal may also include a processor which is configured to
execute the programs stored in the memory.
[0194] The memory (not shown) may include at least one type of
storage medium from among a flash memory type, a hard disk type, a
multimedia card micro type, a card type memory (for example, SD or
XD memory), a random access memory (RAM), a static RAM (SRAM) a
read only memory (ROM), an electrically erasable programmable ROM
(EEPROM), a programmable ROM (PROM), a magnetic memory, a magnetic
disk, and an optical disk. In addition, the first terminal 100 may
have a web storage function performing as a memory (not shown) on
the Internet.
[0195] Hereinafter, a method of recommending friends based on
interest keyword information, by the first terminal 100, will be
described in detail with reference to FIGS. 3 and 4.
[0196] FIG. 3 is a flowchart illustrating a method of recommending
friends by the first terminal 100 according to an exemplary
embodiment.
[0197] Referring to FIG. 3, the method of recommending friends in
the first terminal 100 according to an exemplary embodiment
includes processes that are time-serially processed in the first
terminal 100 shown in FIG. 2. Therefore, above descriptions about
the first terminal 100 shown in FIG. 2 are also applied to the
method of recommending friends illustrated in FIG. 3.
[0198] The first terminal 100 of an exemplary embodiment may
collect information about an event occurring in the first terminal
100 (operation S310). For example, the first terminal 100 may
collect location information, network information, user status
information, sent/received message information, sent/received
e-mail information, calling list information, SNS usage
information, application usage information, web page usage
information, and payment information of the first terminal 100.
[0199] The first terminal 100 may acquire the first interest
keyword information by analyzing the collected event information
(operation S320). That is, the first terminal 100 may recognize
interests of the user by analyzing the location information, the
network information, the user status information, the sent/received
message information, the sent/received e-mail information, the
calling list information, the SNS usage information, the
application usage information, the web page usage information, and
the payment information of the first terminal 100. For example, the
first terminal 100 may recognize what kind of workout the user
usually does in which place, what kind of music the user usually
listens to before sleep, and which content is played while
travelling by subway, by analyzing the location information, the
network information, and the user status information of the first
terminal 100. The first terminal 100 may recognize a hobby of the
user (for example, golf, hiking, etc.), a field of interest of the
user (for example, a stock market, a baseball team the user
supports), and work content in the user's company, by using the
sent/received message information, the sent/received e-mail
information, the calling list information, and the SNS usage
information. In addition, the first terminal 100 may extract
information about, for example, a list of frequently used
applications, a time when an application is used, and a period of
use of the application, by using the application usage information.
In addition, the first terminal 100 may recognize a consumption
pattern of the user, a preference of the user, purchased goods,
credit card information, and shops the user mainly uses, by
analyzing the payment information.
[0200] The first terminal 100 may acquire the first interest
keyword information based on the analyzed event information. For
example, by analyzing the event information, if a keyword a is
extracted 100 times, a keyword b is extracted 85 times, a keyword c
is extracted 70 times, a keyword d is extracted 60 times, a keyword
e is extracted 53 times, a keyword f is extracted 31 times, and a
keyword g is extracted 10 times, the first terminal 100 may select
the keywords a, b, c, d, and e as the first interest keywords based
on the number of extracted times.
[0201] A large number of extracted times denotes that the interest
of the user is high, and thus, the first terminal 100 of an
exemplary embodiment selects the first interest keywords by
reflecting the interest of the user.
[0202] The first terminal 100 may generate the first interest
keyword information by mapping at least one from among the first
location information and the first time information to the first
interest keyword. Here, according to an exemplary embodiment, the
first interest keyword, the first location information, and the
first time information may be generalized as higher level
information.
[0203] According to an exemplary embodiment, the first terminal 100
may generate the first interest keyword information as a matrix
form. For example, the first terminal 100 may generate the first
interest keyword information as an extraction frequency matrix
about the first interest keyword by setting the first interest
keyword as a first axis and at least one from among the first
location information and the first time information as the second
axis.
[0204] Here, according to an exemplary embodiment, the first
terminal 100 may acquire a plurality of first feature vectors of
the first interest keyword information by performing non-negative
matrix factorization on the first interest keyword information that
is generated in the extraction frequency matrix form.
[0205] The method of acquiring the first interest keyword
information by the first terminal 100 will be described in more
detail with reference to FIG. 4.
[0206] According to an exemplary embodiment, the first terminal 100
may receive the second interest keyword information from the second
terminal 200 (operation S330). The first terminal 100 of an
exemplary embodiment may receive the second interest keyword
information directly from the second terminal 200 via short
distance communication.
[0207] The short distance communication technology may use a
wireless LAN, a Bluetooth, ultra wideband (UWB), Zigbee, near field
communication (NFC), Wi-Fi direct (WFD), or infrared data
association (IrDA) communication technology.
[0208] According to another exemplary embodiment, the first
terminal 100 may receive the second interest keyword information
from the second terminal 200 through an external server.
[0209] According to an exemplary embodiment, the second interest
keyword information may be information about the second interest
keyword to which at least one from among the second location
information and the second time information is mapped. In addition,
the second interest keyword, the second location information, and
the second time information may be generalized as higher level
information.
[0210] The first terminal 100 may receive second interest keyword
information in an extraction frequency matrix format of the second
interest keyword, or may receive a plurality of second feature
vectors that are obtained by performing non-negative matrix
factorization on the second interest keyword information in the
extraction frequency matrix format from the second terminal
200.
[0211] According to an exemplary embodiment, the first terminal 100
may compare the first interest keyword information and the second
interest keyword information with each other (operation S340). That
is, the first terminal 100 may compare the second interest keyword
information received from the second terminal 200 and the first
interest keyword information acquired by the first terminal 100
with each other.
[0212] Here, according to an exemplary embodiment, the first
terminal 100 may compare the first interest keyword information
about the first interest keyword that is generalized as the higher
level word and the second interest keyword information about the
second interest keyword that is generalized as the higher level
word.
[0213] According to an exemplary embodiment, the first terminal 100
may compare the plurality of the first feature vectors of the first
interest keyword information, which are obtained through the
non-negative matrix factorization, and the plurality of second
feature vectors of the second interest keyword information, which
are obtained through the non-negative matrix factorization, with
each other.
[0214] Otherwise, the first terminal 100 of an exemplary embodiment
may acquire an extraction frequency matrix of the second interest
keyword by calculating the plurality of the second feature vectors
received from the second terminal 200, and then, may compare the
extraction frequency matrix of the first interest keyword and the
extraction frequency matrix of the second interest keyword with
each other.
[0215] According to an exemplary embodiment, the first terminal 100
may recommend the user of the second terminal 200 as a friend based
on a result of comparing the first interest keyword information and
the second interest keyword information with each other (operation
S350). That is, according to an exemplary embodiment, the first
terminal 100 calculates a similarity between the first interest
keyword information and the second interest keyword information,
and may recommend the user of the second terminal 200 as a friend
when the calculated similarity is equal to or greater than a
predetermined value.
[0216] Here, according to an exemplary embodiment, the first
terminal 100 may calculate the similarity by calculating RMSE
values of the first interest keyword information and the second
interest keyword information. As the RMSE values of the first
interest keyword information and the second interest keyword
information are small, the similarity between the first interest
keyword information and the second interest keyword information is
high.
[0217] Therefore, the first terminal 100 recommends a user of an
external device having common interest keywords as a friend so that
the user of the first terminal 100 is capable of forming a certain
connection with users of external devices having common
interests.
[0218] Hereinafter, the operation S320 shown in FIG. 3 will be
described in more detail with reference to FIG. 4.
[0219] FIG. 4 is a flowchart illustrating a method of acquiring
first interest keyword information by the first terminal 100,
according to an exemplary embodiment.
[0220] In operation S405, the first terminal 100 may analyze the
collected event information. In operation S410, the first terminal
100 may extract a plurality of candidate keywords from the event
information through the NLP technology. That is, the first terminal
100 may extract proper nouns (named-entities) from the text or
voice message/e-mail/phone call/SNS information as the candidate
keywords. For example, if the user of the first terminal 100 sends
a text message "Do you want to go to the baseball park tonight for
the baseball game between team A and team B?" to a friend, the
first terminal 100 may extract the words such as team A, team B,
baseball game, and baseball park through the NLP technology.
[0221] The user of the first terminal 100 may set a picture of a
dog as a background image of the first terminal 100, may post
information about pets on an SNS server, and may send/receive text
messages about pets with friends, since the user of the first
terminal 100 is interested in pets. In this case, the first
terminal 100 may extract candidate keywords such as Siamese,
Russian Blue, Persian, Turkish Angora, Birman, Ragdoll, Bombay,
Maine Coon that are breeds of cats, candidate keywords such as
Chihuahua, Maltese, Papillon, Shih Tzu, Poodle, Beagle, Dachshund,
Fox Hound, Siberian Husky, Pointer, Setter, Cocker Spaniel, and
Vizsla that are breeds of dogs, and candidate keywords such as
rabbits, hamsters, guinea pigs, and hedgehogs.
[0222] In operation S415, the first terminal 100 may select at
least one or more first interest keywords from among the candidate
keywords. According to an exemplary embodiment, the first terminal
100 may select the first interest keyword from among the candidate
keywords based on the number of times each of the candidate
keywords are extracted.
[0223] For example, the first terminal 100 may select the candidate
keyword, of which the extracted times are within a predetermined
ratio (for example, 10% from the top) as the first interest
keyword, and may select a predetermined number of candidate
keywords (for example, 30 candidate keywords) as the first interest
keywords in an order of the extracted times.
[0224] In operation S420, the first terminal 100 may acquire the
first location information and/or the first time information
corresponding to the first interest keyword. The first location
information corresponding to the first interest keyword denotes
information about a location where the event, from which the first
interest keyword is extracted, occurs. In addition, the first time
information corresponding to the first interest keyword denotes
information about a time when the event, from which the first
interest keyword is extracted, occurs. For example, if the first
interest keyword is extracted from a text message that is sent at a
time B and a location A, the first terminal 100 may acquire the
information about the location A as the location information
corresponding to the first interest keyword and the information
about the time B as the time information corresponding to the first
interest keyword.
[0225] If the first interest keyword is extracted from a plurality
of pieces of the event information, the first terminal 100 may
determine main locations and main times of the plurality of events
as the first location information and the first time information
corresponding to the first interest keyword. This will be described
in more detail with reference to FIGS. 5A and 5B.
[0226] FIGS. 5A and 5B are graphs showing the first location
information and the first time information corresponding to the
first interest keyword, according to an exemplary embodiment.
[0227] As shown in FIG. 5A, a location corresponding to a keyword 1
may be a location a where the keyword 1 is mainly collected, and a
time corresponding to the keyword 1 may be a time b when the
keyword 1 is mainly collected.
[0228] There may be a plurality of pieces of the first location
information and the first time information with respect to one
first interest keyword. As shown in FIG. 5B, if there are a
plurality of locations and times where a keyword 2 is mainly
collected, locations a1 and a2 correspond to the keyword 2 and the
times b1 and b2 correspond to the keyword 2.
[0229] The first location information of an exemplary embodiment
may include coordinate information represented by latitude and
longitude. For example, the first location information may be
represented as `latitude: 37.4872222, longitude: 127.0530792`. The
first time information may be represented by at least one from
among year, quarter, month, week, day, AM/PM, time, minute, and
second.
[0230] In operation S425, the first terminal 100 may generalize at
least one from among the first location information and the first
time information as higher level information. For example, the
first location information represented as GPS coordinate values
(latitude: 37.4872222, longitude: 127.0530792) may be generalized
as higher level information so as to represent the first location
information as a higher level concept, for example, zone, building,
address, area name, city name, and country name. In addition, the
first time information represented by the time, minute, and second
units (for example, PM 5:10:30, Oct. 9, 2012) may be generalized as
higher level information to be represented by
morning/afternoon/evening, day, week, month, year units, holiday,
weekend, workday, day of the week, and/or another range of
time.
[0231] The first terminal 100 of an exemplary embodiment may set a
generalization level for generalizing at least one from among the
first location information and the first time information as the
higher level information based on a user input.
[0232] According to an exemplary embodiment, the first terminal 100
may generalize the first location information and/or the first time
information as the higher level information so as to prevent
personal information of the user from being exposed to outside.
[0233] In operation S430, the first terminal 100 may map at least
one from among the first location information and the first time
information to the first interest keyword. That is, the first
terminal 100 may map the first location information to the first
interest keyword, may map the first time information to the first
interest keyword, or may map the first location information and the
first time information to the first interest keyword.
[0234] In operation S435, the first terminal 100 may generalize the
first interest keyword as a higher level word. That is, according
to an exemplary embodiment, the first terminal 100 may generalize
the first interest keyword as the higher level word based on
WordNet (a hierarchical lexical database). Here, the first terminal
100 may generalize the first interest keyword as the higher level
word according to the preset generalization level. This will be
described with reference to FIG. 6.
[0235] FIG. 6 is a conceptual view of WordNet relating to an
exemplary embodiment.
[0236] If the first interest keyword selected by the first terminal
100 is information belonging to a fifth level (level 5) of the
WordNet, the first terminal 100 may generalize the first interest
keyword as the higher level word that belongs to a fourth level
(level 4) or a third level (level 3) that is a preset
generalization level.
[0237] For example, when the breeds of cats, that is, Siamese,
Russian Blue, and Persian, are selected as the first interest
keywords, the first terminal 100 may generalize the first interest
keywords as a higher level word, that is, cats or pets. According
to an exemplary embodiment, since the first interest keywords are
generalized (or anonymized), the personal information of the user
may be protected.
[0238] According to an exemplary embodiment, the first terminal 100
may set the generalization level for generalizing the first
interest keyword as the higher level word.
[0239] In operation S440, the first terminal 100 may remap the
first location information and/or the first time information to the
generalized first interest keyword. Here, the first location
information and/or the first time information may be also
generalized as higher level information.
[0240] In operation S445, the first terminal 100 may generate the
first interest keyword information in a matrix format. For example,
the first terminal 100 generates an extraction frequency matrix of
the generalized first interest keyword by setting the generalized
first interest keyword as a first axis and at least one from among
the first location information and the first time information as a
second axis. This will be described with reference to FIG. 7.
[0241] FIG. 7 is a diagram showing an extraction frequency matrix
of the first interest keyword, according to an exemplary
embodiment.
[0242] As shown in FIG. 7, when a keyword 1 is extracted 10 times
from information about an event occurring in the morning in Suwon
city, extracted once from information about an event occurring at
dawn in Seoul, and extracted 5 times from information about an
event occurring in the evening in Seoul, a keyword 2 is extracted
four times from information about an event occurring at noon in
Suwon city, and a keyword 3 is extracted 23 times from information
about an event occurring in the afternoon in Suwon city, the first
terminal 100 may generate an extraction frequency matrix about N
number of first interest keywords based on the location and/or
time.
[0243] In operation S450, the first terminal 100 may perform
non-negative matrix factorization on the extraction frequency
matrix about the first interest keyword. In addition, in operation
S455, the first terminal 100 may acquire a plurality of first
feature vectors as a result of the non-negative matrix
factorization. This will be described with reference to FIG. 8.
[0244] FIG. 8 is a diagram showing a non-negative matrix
factorization (NMF) result of the extraction frequency matrix about
the first interest keyword, according to an exemplary
embodiment.
[0245] As shown in FIG. 8, the first terminal 100 may represent one
extraction frequency matrix about the first interest keyword as a
linear combination of two feature vectors. For example, the first
terminal 100 performs an NMF operation on an M.times.N matrix shown
in FIG. 7 to obtain two first feature vectors (a MxK feature vector
and a KxN feature vector).
[0246] Here, when it is assumed that M=10,000, N=10,000, K=20, and
an element configuring the matrix is 1 B (byte), a size of the
M.times.N matrix is 100 MB. However, a size of each of the
plurality of first feature vectors is 400 KB, and thus, the size of
the plurality of first feature vector may be relatively much
smaller than that of the extraction frequency matrix of the first
interest keyword.
[0247] Therefore, when the first terminal 100 transmits the first
feature vectors to an external device, a data transfer amount may
be greatly reduced when compared with the transfer of the
extraction frequency matrix of the first interest keyword.
[0248] In addition, the second interest keyword information may be
acquired by the second terminal 200 by using the method shown in
FIG. 4.
[0249] FIG. 9 is a diagram illustrating a method of recommending
friends in a first terminal 100 according to another exemplary
embodiment.
[0250] A first server 100-1 is a private server of the first
terminal 100, and may store WordNet (a hierarchical lexical
database) for generalizing the first interest keyword information
as higher level information.
[0251] Therefore, the first terminal 100 may transmit the first
interest keyword information that is extracted by analyzing
collected event information to the first server 100-1 (process
{circle around (1)}). Here, the first interest keyword information
may include the first interest keyword, the first time information,
and the first location information.
[0252] The first server 100-1 may generalize the first interest
keyword information as the higher level information based on
generalization level information that is set in advance. For
example, the first server 100-1 may generalize at least one from
among the first location information and the first time information
as higher level information, and then, may map the generalized
information to the first interest keyword. The first server 100-1
may generalize the first interest keyword as a higher level word
based on the WordNet (a hierarchical lexical database), and may map
at least one from among the first location information and the
first time information to the generalized first interest keyword.
In addition, the first server 100-1 may transmit the generalized
first interest keyword information to the first terminal 100
(process {circle around (2)}).
[0253] A second server 200-1 is a private server of the second
terminal 200, and may store the WordNet for generalizing the second
interest keyword information as higher level information.
Therefore, when the second terminal 200 transmits the second
interest keyword information to the second server 200-1 (process
{circle around (3)}), the second terminal 200 may receive
generalized second interest keyword information from the second
server 200-1 (process {circle around (4)}).
[0254] According to an exemplary embodiment, the first terminal 100
may transmit the generalized first interest keyword information to
the second terminal 200 (process {circle around (5)}). Here,
according to an exemplary embodiment, the first terminal 100 may
transmit the plurality of first feature vectors that are generated
through the NMF operation of the first interest keyword information
to the second terminal 200.
[0255] The second terminal 200 may recommend the user of the first
terminal 100 as a friend to the user of the second terminal 200
based on a result of comparing the generalized first interest
keyword information and the generalized second interest keyword
information with each other. That is, if an accordance rate between
the generalized first interest keyword information and the
generalized second interest keyword information is a predetermined
level or greater, the second terminal 200 recommends the user of
the first terminal 100 as a friend. Here, the second terminal 200
may compare the first feature vectors of the first interest keyword
information and the second feature vectors of the second interest
keyword information with each other.
[0256] In addition, if the second terminal 200 recommends the user
of the first terminal 100 as a friend to the user of the second
terminal 200, the second terminal 200 may transmit friend
recommendation information to the first terminal 100. For example,
the second terminal 200 may transmit the accordance rate
information between the generalized first interest keyword
information and the generalized second interest keyword
information, and the information of recommending the user of the
second terminal 200 as a friend to the first terminal 100. In this
case, according to an exemplary embodiment, the first terminal 100
may recommend the user of the second terminal 200 as a friend to
the user of the first terminal 100.
[0257] According to an exemplary embodiment, a user of the first
terminal and a user of the second terminal may specify which ones
of the generalized interest keyword information may be used to
match the user of the first terminal 100 and the user of the second
terminal 200. For example, a user of the first terminal 100 or the
second terminal 200, may select and/or rank one more keywords that
are used to match the user with another user of another
terminal.
[0258] FIG. 10 is a friend recommending system according to another
exemplary embodiment.
[0259] As shown in FIG. 10, the friend recommending system
according to an exemplary embodiment may include a friend
recommendation server 300, the first terminal 100, the second
terminal 200, . . . , and an N-th terminal. That is, the friend
recommendation server 300 acquires interest keyword information
from a plurality of terminals, and may recommend users of terminals
having common interest keyword information as friends to each
other. Hereinafter, the first terminal 100 and the second terminal
200 will be described from among the plurality of terminals, for
convenience of description.
[0260] The first terminal 100 may collect event information, and
acquire the first interest keyword information from the collected
event information. The event information collected by the first
terminal 100 may include location information of the first terminal
100, network information, user status information, sent/received
message information, sent/received e-mail information, phone call
list information, SNS usage information, application usage
information, web page usage information, and payment information.
These are described above with reference to FIGS. 1 and 2, and
thus, will not be described here.
[0261] The first terminal 100 may transmit the acquired first
interest keyword information to the friend recommendation server
300. Here, the first terminal 100 may transmit the first interest
keyword information, to which the first location information and/or
the first time information is mapped, in a matrix format, or may
transmit a plurality of first feature vectors about the first
interest keyword, which are obtained through an NMF operation, to
the friend recommendation server 300.
[0262] According to an exemplary embodiment, the first terminal 100
may generalize the first interest keyword and may transmit the
first interest keyword information about the generalized first
interest keyword to the friend recommendation server 300.
[0263] The second terminal 200 may collect event information, and
may acquire second interest keyword information from the collected
event information. The event information collected by the second
terminal 200 may include location information of the second
terminal 200, network information, user status information,
sent/received message information, sent/received e-mail
information, phone call list information, SNS usage information,
application usage information, web page usage information, and
payment information.
[0264] The second terminal 200 may transmit the acquired second
interest keyword information to the friend recommendation server
300. Here, the second terminal 200 may transmit the second interest
keyword information, to which the second location information
and/or the second time information is mapped, in a matrix format,
or may transmit a plurality of second feature vectors about the
second interest keyword, which are obtained through an NMF
operation, to the friend recommendation server 300.
[0265] According to an exemplary embodiment, the second terminal
200 may generalize the second interest keyword and may transmit the
second interest keyword information about the generalized second
interest keyword to the friend recommendation server 300.
[0266] The friend recommendation server 300 is a server for
providing a plurality of terminals with friend recommendation
information. The friend recommendation server 300 of an exemplary
embodiment may be a server for providing a certain service based on
relationship between the users. For example, the friend
recommendation server 300 may be an SNS server or a server for
providing a messenger service.
[0267] The friend recommendation server 300 according to an
exemplary embodiment will be described in detail with reference to
FIG. 11.
[0268] FIG. 11 is a block diagram of the friend recommendation
server 300 according to an exemplary embodiment.
[0269] As shown in FIG. 11, the friend recommendation server 300 of
an exemplary embodiment may include a communication unit 310, a
recommendation unit 320, a storage unit 330, and a controller 340.
However, the friend recommendation server 300 may be configured to
include more or less components than those of FIG. 11.
[0270] Hereinafter, the above components will be described.
[0271] The communication unit 310 may include one or more
components enabling the friend recommendation server 300 to
communicate with an external device and a network in which the
external device is located. For example, the communication unit 310
may include a wireless Internet module, a mobile communication
module, a wired Internet module, and a short distance communication
module.
[0272] The communication unit 310 may receive the first interest
keyword information that is acquired based on the event information
collected by the first terminal 100 from the first terminal 100.
The communication unit 310 may receive the first interest keyword
information in the extraction frequency matrix format about the
generalized first interest keyword from the first terminal 100, or
may receive a plurality of first feature vectors generated through
the NMF of the first interest keyword information in the extraction
frequency matrix format from the first terminal 100.
[0273] The communication unit 310 may receive the second interest
keyword information acquired based on the event information
collected by the second terminal 200, from the second terminal 200.
The communication unit 310 may receive the second interest keyword
information in the extraction frequency matrix format about the
generalized second interest keyword from the second terminal 200,
or may receive a plurality of second feature vectors generated
through the NMF of the second interest keyword information in the
extraction frequency matrix format from the second terminal
200.
[0274] According to an exemplary embodiment, the communication unit
310 may acquire the location information of the first terminal 100
and the location information of the second terminal 200. The
communication unit 310 may receive the location information of the
first and second terminals 100 and 200 directly from the first and
second terminals 100 and 200, or may receive the location
information of the first and second terminals 100 and 200 via a
base station.
[0275] The communication unit 310 may receive the first interest
keyword information and the second interest keyword information for
a predetermined time period from the first terminal 100 and the
second terminal 200 located at predetermined locations.
[0276] In addition, the communication unit 310 may transmit friend
recommendation information to at least one of the first terminal
100 and the second terminal 200. The friend recommendation
information may include information about the user who is
recommended as a friend (name, nickname, ID, age, SNS that the user
uses, current location, and telephone number, etc.), and common
interest information.
[0277] The friend recommendation unit 320 may compare the first
interest keyword information and the second interest keyword
information with each other. According to an exemplary embodiment,
the recommendation unit 320 may compare the first interest keyword
information of the first interest keyword that is generalized as a
higher level word, and the second interest keyword information that
is generalized as a higher level word with each other. The
recommendation unit 320 may compare the plurality of first feature
vectors about the first interest keyword information and the
plurality of second feature vectors about the second interest
keyword information, wherein the first and second feature vectors
are generated through the NMF operation.
[0278] The friend recommendation unit 320 of an exemplary
embodiment may provide at least one of the first and second
terminals 100 and 200 with the friend recommendation information,
based on a result of comparing the first interest keyword
information and the second interest keyword information with each
other. That is, the friend recommendation unit 320 of an exemplary
embodiment calculates a similarity between the first interest
keyword information and the second interest keyword information,
and when the calculated similarity is a predetermined value or
greater, the friend recommendation unit 320 may recommend the user
of the second terminal 200 as a friend to the user of the first
terminal 100 or recommend the user of the first terminal 100 as a
friend to the user of the second terminal 200. For example, if the
similarity between the first interest keyword information and the
second interest keyword information is 80% or greater, the friend
recommendation unit 320 provides the first terminal 100 with the
friend recommendation information including the user information of
the second terminal 200, and provides the second terminal 200 with
the friend recommendation information including the user
information of the first terminal 100.
[0279] According to an exemplary embodiment, the friend
recommendation unit 320 may calculate the similarity by calculating
RMSE values of the first interest keyword information and the
second interest keyword information.
[0280] In addition, the friend recommendation unit 320 may provide
at least one of the first and second terminals 100 and 200 with the
friend recommendation information in further consideration of the
location of the first terminal 100 and the location of the second
terminal 200. That is, when the first terminal 100 is located
within a predetermined distance from the second terminal 200, the
friend recommendation unit 320 may recommend the user of the first
terminal 100 as a friend to the user of the second terminal 200, or
may recommend the user of the second terminal 200 as a friend to
the user of the first terminal 100.
[0281] The storage unit 330 may store processing and controlling
programs of the controller 340, or may store input/output data (for
example, the first interest keyword information, the second
interest keyword information, and the friend recommendation
information).
[0282] The controller 340 may control overall operations of the
friend recommendation server 300. That is, the controller 340 may
control the communication unit 310, the friend recommendation unit
320, and the storage unit 330.
[0283] The controller 340 of an exemplary embodiment may delete the
first interest keyword information and the second interest keyword
information after a predetermined time period has passed, in order
to protect the personal information of the users of the first and
second terminals 100 and 200.
[0284] Hereinafter, a method of recommending a friend by the friend
recommendation server 300 based on the interest keyword information
will be described with reference to FIGS. 12 and 13.
[0285] FIG. 12 is a flowchart illustrating a method of recommending
friends by the friend recommendation server 300, according to an
exemplary embodiment.
[0286] Referring to FIG. 12, the method of recommending friends by
the friend recommendation server 300 according to an exemplary
embodiment may include time-serial processes performed in the
friend recommendation server 300 shown in FIG. 11. Therefore, the
above descriptions about the friend recommendation server 300 shown
in FIG. 11 may be applied to the method of recommending friends
shown in FIG. 12.
[0287] In operation S1210, the friend recommendation server 300 may
receive the first interest keyword information that is acquired
based on the event information collected by the first terminal 100,
from the first terminal 100.
[0288] Here, according to an exemplary embodiment, the friend
recommendation server 300 may receive the information about the
first interest keyword to which at least one of the first location
information and the first time information is mapped. That is, at
least one of the location information and the time information may
be mapped to each of one or more first interest keywords included
in the first interest keyword information. For example, a keyword 1
may be mapped to (region A, morning), a keyword 2 may be mapped to
(region B, noon), and a keyword 3 may be mapped to (region C,
afternoon).
[0289] According to an exemplary embodiment, at least one of the
first location information and the first time information included
in the first interest keyword information may be information that
is generalized as higher level information. In addition, according
to an exemplary embodiment, the first interest keyword information
may include information about the first interest keyword that is
generalized as a higher level word based on WordNet (a hierarchical
lexical database), in order to prevent personal information of the
user of the first terminal 100 from being exposed to unauthorized
users.
[0290] According to an exemplary embodiment, the friend
recommendation server 300 may receive the first interest keyword
information in the extraction frequency format about the
generalized first interest keyword, wherein the matrix has the
generalized first interest keyword as a first axis and at least one
of the first location information and the first time information as
a second axis.
[0291] The friend recommendation server 300 may receive a plurality
of first feature vectors that are generated by an NMF of the first
interest keyword information in the extraction frequency matrix
format. In this case, the first feature vectors have a smaller data
amount than that of the extraction frequency matrix, and thus, data
transmission efficiency may be improved.
[0292] In operation S1220, the friend recommendation server 300 may
receive the second interest keyword information that is acquired
based on the event information collected by the second terminal
200, from the second terminal 200. Here, according to an exemplary
embodiment, the friend recommendation server 300 may receive
information about the second interest keyword to which at least one
of the second location information and the second time information
is mapped. That is, at least one of the location information and
the time information may be mapped to each of the one or more
second interest keywords included in the second interest keyword
information.
[0293] According to an exemplary embodiment, at least one of the
second location information and the second time information
included in the second interest keyword information may be
information that is generalized as higher level information. In
addition, according to an exemplary embodiment, the second interest
keyword information may include information about the second
interest keyword that is generalized as a higher level word based
on WordNet (a hierarchical lexical database), in order to prevent
personal information of the user of the second terminal 200 from
being excessively exposed.
[0294] According to an exemplary embodiment, the friend
recommendation server 300 may receive the second interest keyword
information in the extraction frequency format about the
generalized second interest keyword, wherein the matrix has the
generalized second interest keyword as a first axis and at least
one of the second location information and the second time
information as a second axis.
[0295] The friend recommendation server 300 may receive a plurality
of second feature vectors that are generated by an NMF of the
second interest keyword information in the extraction frequency
matrix format.
[0296] In operation S1230, the friend recommendation server 300 may
compare the first interest keyword information and the second
interest keyword information with each other.
[0297] The friend recommendation server 300 may compare the first
interest keyword information about the first interest keyword that
is generalized as a higher level word and the second interest
keyword information about the second interest keyword that is
generalized as a higher level word.
[0298] According to an exemplary embodiment, the friend
recommendation server 300 may compare the plurality of first
feature vectors about the first interest keyword information and
the second feature vectors about the second interest keyword
information with each other, wherein the first and second feature
vectors are generated through the NMF operation.
[0299] In addition, the friend recommendation server 300 may
determine whether a distance between the first terminal 100 and the
second terminal 200 is within a predetermined range (for example, a
radius of 100 m) by comparing the locations of the first terminal
100 and the second terminal 200 with each other. The friend
recommendation server may also determine whether the first terminal
100 and the second terminal 200 are located in at same building,
address, business, region, zone, etc.
[0300] In operation S1240, the friend recommendation server 30 may
provide at least one of the first and second terminals 100 and 200
with the friend recommendation information based on a result of
comparing the first interest keyword information and the second
interest keyword information. That is, according to an exemplary
embodiment, the friend recommendation server 300 may calculate a
similarity between the first interest keyword information and the
second interest keyword information, and may provide the first
terminal 100 and/or the second terminal 200 with the friend
recommendation information when the calculated similarity is a
predetermined value or greater.
[0301] Here, according to an exemplary embodiment, the first
terminal 100 may calculate the similarity by calculating RMSE
values of the first interest keyword information and the second
interest keyword information. As the RMSE values of the first
interest keyword information and the second interest keyword
information decrease, the similarity between the first and second
interest keyword information increases.
[0302] Therefore, according to an exemplary embodiment, the users
may receive recommendation of other users having similar interest
as friends.
[0303] FIG. 13 is a flowchart illustrating a method of recommending
friends of the friend recommendation server 300, in more detail,
according to an exemplary embodiment in more detail.
[0304] According to an exemplary embodiment, the first terminal 100
collects and analyzes the event information (operation S1305),
selects the first interest keyword (operation S1310), maps the
first location information and/or the first time information to the
first interest keyword (operation S1315), generates the first
interest keyword information as an extraction frequency matrix of
the first interest keyword (operation S1320), and performs the NMF
operation of the first interest keyword information in the
extraction frequency matrix form (operation S1325) to obtain a
plurality of first feature vectors (operation S1330). Operations
S1305 through S1330 shown in FIG. 13 correspond to operations S405
through S455 shown in FIG. 4, and thus, detailed descriptions
thereof will not be provided here.
[0305] In addition, the second terminal 200 collects and analyzes
the event information (operation S1340), selects a second interest
keyword (operation S1345), maps the second location information
and/or the second time information to the second interest keyword
(operation S1350), generates the second interest keyword
information as an extraction frequency matrix of the second
interest keyword (operation S1355), and performs an NMF operation
of the second interest keyword information in the extraction
frequency matrix form (operation S1360) to obtain a plurality of
second feature vectors (operation S1365).
[0306] Here, the friend recommendation server 300 receives the
first feature vectors from the first terminal 100 (operation S1335)
and receives the second feature vectors from the second terminal
200 (operation S1370). The friend recommendation server 300
according to an exemplary embodiment calculates the similarity
between the plurality of first feature vectors and the plurality of
the second feature vectors (operation S1375). When the calculated
similarity is a predetermined value or greater (operation S1380),
the friend recommendation server 300 transmits friend
recommendation information including user information of the second
terminal 200 to the first terminal 100 (operation S1385), and
transmits the friend recommendation information including user
information of the first terminal 100 to the second terminal 200
(operation S1390). The user information of the first terminal 100
and the user information of the second terminal 200 may include
user identification information (for example, phone number, ID,
nickname, and name), user identification images (for example,
profile photo), and user phone number.
[0307] FIG. 14 is a diagram showing a friend recommendation screen
of the first terminal 100, according to an exemplary
embodiment.
[0308] The first terminal 100 may output a friend recommendation
window on a screen in order to recommend the user of the second
terminal 200 as a friend. Here, the first terminal 100 may output a
friend recommendation alarm through a voice signal or a vibration
signal.
[0309] According to an exemplary embodiment, the friend
recommendation window may display an ID, a name, and an
accept/ignore selection icon.
[0310] FIG. 15 is a diagram showing a friend recommendation screen
between a plurality of terminals existing in a certain time and a
certain place.
[0311] According to an exemplary embodiment, the friend
recommendation server 300 may generate a virtual interest keyword
collection space that is maintained for a predetermined time, and
when the predetermined time has passed, the friend recommendation
server 300 may delete the contents stored in the virtual interest
keyword collection space to protect personal information of the
users.
[0312] For example, the friend recommendation server 300 may
collect the interest keyword information from a plurality of
terminals during a certain party. In addition, the friend
recommendation server 300 connects the users having common interest
keyword information, and when the party is over, the friend
recommendation server 300 may delete the collected interest keyword
information.
[0313] As shown in FIG. 15, the user of the first terminal 100 may
receive friend recommendations of Babie, Lindsey, Brian, Alon, and
Alex as friends from among a plurality of users participating in a
Christmas party taking place in "ABC Hotel", in an order of
similarity of the interest keyword information. Here, when the user
of the first terminal 100 selects Babie and Brian as friends, the
user of the first terminal 100 may form a new relationship with
Babie and Brian.
[0314] FIGS. 16A and 16B are diagrams showing a friend
recommendation screen displayed through an SNS application by the
first terminal 100, according to an exemplary embodiment.
[0315] As shown in FIG. 16A, the first terminal 100 may execute an
SNS application providing a general location-based SNS. In this
case, the first terminal 100 may display a users list in an order
of distances from the first terminal 100. For example, the first
terminal 100 may display the users list of the SNS application in
an order of user A of a terminal A who is 277 m apart from the
first terminal 100, user B of a terminal B who is 348 m apart from
the first terminal 100, and user C of a terminal C who is 426 m
apart from the first terminal 100.
[0316] Here, when the user of the first terminal 100 selects the
friend recommendation according to an exemplary embodiment, the
first terminal 100 or the friend recommendation server 300 compares
interest keyword information acquired from external devices with
the first interest keyword information of the first interest
keyword information to recommend the users having similar interests
as friends.
[0317] That is, the first terminal 100 or the friend recommendation
server 300 may provide the friend recommendation list based on an
order of terminals transferring the interest keyword information
having high accordance rate with the first interest keyword
information of the first terminal 100. For example, as shown in
FIG. 16B, the first terminal 100 may display the friend
recommendation list in an order of accordance rates between the
interest keyword information, that is, user C (accordance rate:
77%), user B (accordance rate: 73%), and user K (accordance rate:
72%).
[0318] Therefore, according to an exemplary embodiment, the users
having high relevance with respect to the user of the first
terminal 100 may be recommended as friends based on tacit action
patterns of the user, without a clear profile of the user or clear
preference information of the user.
[0319] FIGS. 17A and 17B are diagrams showing a friend
recommendation screen displayed through a travel application by the
first terminal 100, according to an exemplary embodiment.
[0320] As shown in FIG. 17A, the user may request a recommendation
of a friend to travel with while executing a travel
application.
[0321] In this case, the first terminal 100 or the friend
recommendation server 300 may recommend users having similar
interests to those of the user of the first terminal 100 based on
the first interest keyword information (in particular, travel
related keyword information).
[0322] As shown in FIG. 17B, the first terminal 100 or the friend
recommendation server 300 may recommend users of external devices,
who are interested in travel, as friends to the user of the first
terminal 100.
[0323] Hereinafter, a method of forming a friendship (or a group)
by using a predetermined operation, and sharing contents collected
by a predetermined operation with friends (or a group) will be
described with reference to FIGS. 18 through 25.
[0324] FIG. 18 is a flowchart illustrating a method of recommending
friends by using a sharing operation, according to an exemplary
embodiment.
[0325] In operation S1810, the first terminal 100 may receive a
setting about a sharing operation for sharing contents. The sharing
operation of an exemplary embodiment denotes an operation performed
by the user by using a predetermined terminal in order to easily
collect contents and share the collected contents with other
users.
[0326] The sharing operation of an exemplary embodiment may be
variously set by the user. For example, the sharing operation
according to an exemplary embodiment may include a photographing
operation, a moving picture taking operation, a voice recording
operation, a screen capturing operation, an application sharing
operation and a music playing operation; however, the exemplary
embodiments are not limited thereto.
[0327] In operation S1820, the first terminal 100 may transmit a
friend request message including information about the sharing
operation to the second terminal 200. For example, the first
terminal 100 may request the second terminal 200 to form a
friendship for sharing contents through the sharing operation.
[0328] Here, according to an exemplary embodiment, the first
terminal 100 may broadcast the friend request message including the
information about the sharing operation via short distance
communication. Then, the second terminal 200 existing in a
communication range of the first terminal 100 may receive the
friend request message broadcasted by the first terminal 100.
[0329] According to another exemplary embodiment, the first
terminal 100 may search for peripheral devices by using the short
distance communication (for example, Bluetooth low energy (BLE)
communication). In addition, the first terminal 100 selects the
second terminal 200 from among found devices, and transmits the
friend request message to the second terminal 200.
[0330] In operation S1830, the first terminal 100 may receive an
acceptance message corresponding to the friend request message,
from the second terminal 200. For example, if the user of the
second terminal 200 wants to share the contents with the user of
the first terminal 100 through the sharing operation, the second
terminal 200 may transmit the acceptance message to the friend
request message of the first terminal 100 to the first terminal
100.
[0331] In operation S1840, the first terminal 100 may recommend the
user of the second terminal 200 transmitting the acceptance message
as a friend. For example, the first terminal 100 displays
identification information of the second terminal 200 or the user
identification information of the second terminal 200 that
transmits the acceptance message so as to recommend the user of the
second terminal 200 as a friend.
[0332] According to an exemplary embodiment, if the acceptance
message is transmitted from a plurality of second terminals 200,
the first terminal 100 may form a sharing group including the user
of the first terminal 100 and the users of the plurality of second
terminals 200.
[0333] FIG. 19 is a flowchart illustrating a method of recommending
a friend by using a sharing operation, according to another
exemplary embodiment. Detailed descriptions about the same
processes as those of FIG. 18 will not be repeated here.
[0334] In operation S1910, the first terminal 100 may receive a
setting about a sharing operation for sharing the contents and a
zone or a location where the sharing operation is applied. That is,
the user may set the sharing operation, and may additionally set a
predetermined zone in which the content is shared by the sharing
operation. In this case, the content sharing between the first and
second terminals 100 and 200 by the sharing operation may be
possible only when the first terminal 100 and the second terminal
200 are located within the zone where the sharing operation is
applied.
[0335] The zone where the sharing operation is applied may be a
communication range of the first terminal 100, a certain building,
or a certain space; however, the exemplary embodiments are not
limited thereto. For example, the user may set the short distance
communication range of the first terminal 100 as the zone where the
sharing operation is applied, set the content sharing to be
possible only in a certain building (for example, a museum), or set
the content sharing to be possible by the sharing operation only
within 5 m from the first terminal 100. In another example, the
sharing zone may be a local area network or a personal area network
in which the first terminal 100 and the second terminal 200 are
connected.
[0336] In operation S1920, the first terminal 100 may transmit a
friend request message including information about the sharing
operation and the zone where the sharing operation is applied to
the second terminal 200.
[0337] In operation S1930, the second terminal 200 may display the
friend request message sent from the first terminal 100 on a screen
thereof. The second terminal 200 may display the friend request
message as a pop-up window according to an exemplary embodiment.
Here, the user of the second terminal 200 identifies the
information about the sharing operation and the zone where the
sharing operation is applied, and the information about the first
terminal 100 or the user of the first terminal 100 included in the
friend request message, and may determine whether to accept the
friend request or not.
[0338] In operation S1940, when the user of the second terminal 200
accepts the friend request of the first terminal 100, the second
terminal 200 may transmit an acceptance message to the first
request message, to the first terminal 100.
[0339] The acceptance message of an exemplary embodiment may
include information about the second terminal 200 and information
about the user of the second terminal 200. The information about
the second terminal 200 may include identification information of
the second terminal 200 (for example, a device ID, a device name,
and an identification image), information about the communication
type supported by the second terminal 200, connection information
for connecting to the second terminal 200 (for example, Bluetooth
address, profile information, SSID, IP address, MAC address,
channel number, and security key). The communication type may be a
wireless LAN (ad-hoc mode or infrastructure mode communication),
Bluetooth, Zigbee, WFD, or UWB; however, the exemplary embodiments
are not limited thereto.
[0340] In operation S1950, the first terminal 100 may recommend the
user of the second terminal 200 that transmits the acceptance
message as a friend. For example, the first terminal 100 may
display the identification information of the second terminal 200
or the user identification information (for example, user
application information, user profile information, and user images)
of the second terminal 200 that transmits the acceptance message on
the screen to recommend the user of the second terminal 200 as a
friend.
[0341] In operation S1960, the first terminal 100 and the second
terminal 200 may share the contents collected by the sharing
operation. According to an exemplary embodiment, if the zone where
the sharing operation is applied is set, the first terminal 100 and
the second terminal 200 may share the content collected by the
sharing operation within the set zone.
[0342] The content collected by the sharing operation according to
an exemplary embodiment may vary and may include, for example,
audio content, video content, and text content. For example, the
content collected by the sharing operation may include photo
content, moving picture content, voice record content, music
content, and electronic book content; however, the exemplary
embodiments are not limited thereto.
[0343] Processes of sharing content between the first terminal 100
and the second terminal 200 will be described in more detail
below.
[0344] In operation S1961, the first terminal 100 may sense the
predetermined sharing operation by using sensors. In addition, in
operation S1963, the first terminal 100 may transmit first content
collected by the predetermined sharing operation to the second
terminal 200. Here, according to an exemplary embodiment, the first
terminal 100 may transmit the first content directly to the second
terminal 200 via the short distance communication, or transmit the
first content to the second terminal 200 via a sharing server.
[0345] In operation S1965, the second terminal 200 may sense the
predetermined sharing operation. Here, the second terminal 200 may
transmit second content that is collected by the sharing operation
to the first terminal 100 (operation S1967). According to another
exemplary embodiment, the first terminal 100 and the second
terminal 200 may maintain a list or database of friends that have
accepted friend request messages. The list or database may be used
to perform the sharing operation.
[0346] Therefore, according to an exemplary embodiment, the first
terminal 100 and the second terminal 200 may configure a friendship
easily by using a predetermined sharing operation, and may share
the content collected by the sharing operation with each other.
Hereinafter, examples of forming the friendship and sharing the
content through the sharing operation will be described with
reference to FIGS. 20 through 25.
[0347] FIGS. 20A through 20C are diagrams illustrating a method of
broadcasting a friend request message, according to an exemplary
embodiment.
[0348] As shown in FIG. 20A, the first terminal 100 may provide the
user with a graphical user interface (GUI) through which the
sharing operation and the zone where the sharing operation is
applied may be set. Here, the user may input or select the sharing
operation for sharing the content. For example, the user may select
a photographing operation as the sharing operation for sharing the
content.
[0349] The user may set the zone where the sharing operation is
applied. For example, the user may set the content sharing by the
sharing operation to be possible only in the zone `** Museum`.
[0350] As shown in FIG. 20B, the first terminal 100 may broadcast
the friend request message including the information about the
sharing operation and the zone where the sharing operation is
applied to outside. Here, the first terminal 100 may broadcast the
friend request message by using the short distance communication
(for example, Wi-Fi communication or BLE communication).
[0351] As shown in FIG. 20C, the first terminal 100 may receive
acceptance messages from external terminals (for example, a first
device 200-1, a second device 200-2, a third device 200-3, and a
fourth device 200-4). For example, users of the external terminals
identify the information about the sharing operation (for example,
the photographing operation) and the zone where the sharing
operation is applied (for example, ** Museum) included in the
friend request message, and then, may accept the request of the
user of the first terminal 100.
[0352] The first terminal 100 of an exemplary embodiment may
recommend the user of the first device 200-1, the user of the
second device 200-2, the user of the third device 200-3, and the
user of the fourth device 200-4 as friends.
[0353] In addition, the first terminal 100 may form a sharing group
with the user of the first device 200-1, the user of the second
device 200-2, the user of the third device 200-3, and the user of
the fourth device 200-4.
[0354] Here, the user of the first terminal 100, the user of the
first device 200-1, the user of the second device 200-2, the user
of the third device 200-3, and the user of the fourth device 200-4
may share the photos collected through the photographing operations
in the zone ** Museum with each other.
[0355] FIGS. 21A and 21B are diagrams illustrating a method of
transmitting a friend request message through BLE
communication.
[0356] As shown in FIG. 21A, the first terminal 100 of an exemplary
embodiment may search for peripheral devices that broadcast
identification information through BLE communication. For example,
the first terminal 100 may find a first device 200-1, a second
device 200-2, a third device 200-3, a fourth device 200-4, a fifth
device 200-5, and a sixth device 200-6 that broadcast
identification information (for example, a device ID, account
information, MAC address, etc.) as advertisement packets from a
periphery thereof.
[0357] Then, the first terminal 100 may display a list of the found
first device 200-1, second device 200-2, third device 200-3, fourth
device 200-4, fifth device 200-5, and sixth device 200-6.
[0358] The user of the first terminal 100 may select at least one
device to form a sharing group from the list. For example, the user
of the first terminal 100 may select the second device 200-2, the
fourth device 200-4, and the sixth device 200-6.
[0359] In this case, the first terminal 100 may transmit the friend
request message to the at least one device selected by the user
(for example, the second device 200-2, the fourth device 200-4, and
the sixth device 200-6). The friend request message may include
information about the sharing operation and the information about
the zone where the sharing operation is applied.
[0360] As shown in FIG. 21B, when the first terminal 100 receives
acceptance messages in response to the friend request message, from
the second device 200-2, the fourth device 200-4, and the sixth
device 200-6, the first terminal 100 may form a sharing group with
the second device 200-2, the fourth device 200-4, and the sixth
device 200-6. In addition, the first terminal 100 may share the
content collected by the predetermined sharing operation with the
second device 200-2, the fourth device 200-4, and the sixth device
200-6. This will be described with reference to FIGS. 22A and 22B
below.
[0361] FIGS. 22A and 22B are diagrams illustrating a method of
sharing content collected by the sharing operation, according to an
exemplary embodiment.
[0362] In regard to FIGS. 22A and 22B, a case where the user of the
first terminal 100 selects the photographing operation as the
sharing operation and selects `** Museum` as the zone where the
sharing operation is applied will be described as an example.
[0363] As shown in FIG. 22A, the user may capture an image of an
external object in the `** Museum` zone by using a camera built
into the first terminal 100. In this case, the first terminal 100
may sense the photographing operation that is set as the sharing
operation.
[0364] As shown in FIG. 22B, upon sensing the photographing
operation that is the sharing operation, the first terminal 100 may
transmit the photo content through the photographing operation to
the second device 200-2, the fourth device 200-4, and the sixth
device 200-6 that are included in the sharing group.
[0365] Photo content collected by the photographing operations in
each of the second device 200-2, the fourth device 200-4, and the
sixth device 200-6 may be shared with the second device 200-2, the
fourth device 200-4, the sixth device 200-6, and the first terminal
100.
[0366] FIGS. 23A and 23B are diagrams illustrating a method of
sharing content through a sharing server, according to an exemplary
embodiment.
[0367] As shown in FIG. 23A, the user may capture an image of an
external object by using the camera built in the first terminal
100. In this case, the first terminal 100 may sense the
photographing operation that is set as the sharing operation.
[0368] As shown in FIG. 23B, when sensing the photographing
operation that is the sharing operation, the first terminal 100 may
transmit the photo content collected by the photographing operation
to the sharing server. Here, each of the second device 200-2, the
fourth device 200-4, and the sixth device 200-6 may access the
sharing server. Therefore, each of the second device 200-2, the
fourth device 200-4, and the sixth device 200-6 may acquire the
content collected by the first terminal 100 via the sharing
server.
[0369] In addition, the content (for example, the photo content)
collected by the sharing operation (for example, the photographing
operation) in each of the second device 200-2, the fourth device
200-4, and the sixth device 200-6 may be shared through the sharing
server.
[0370] The sharing server according to an exemplary embodiment may
manage the sharing content with respect to the device unit, the
sharing group unit, and the account unit.
[0371] FIGS. 24A and 24B are diagrams showing a screen displaying a
content sharing check window, according to an exemplary
embodiment.
[0372] As shown in FIG. 24A, the first terminal 100 may sense the
photographing operation that is set as the sharing operation in
advance.
[0373] Here, as shown in FIG. 24B, the first terminal 100 may
display the content (for example, the photo content) collected by
the sharing operation (for example, the photographing operation) on
the screen before sharing the content with the second device 200-2
and the fourth device 200-4. The user may determine whether the
content is to be shared with the other devices (the second device
200-2 and the fourth device 200-4) after identifying the content
displayed on the screen.
[0374] For example, if the photo content collected by the
photographing operation has a low resolution or the user does not
like the photo content, the user of the first terminal 100 may
determine not to share the photo content with the second device
200-2 and the fourth device 200-4. If the user likes the photo
content, the user of the first terminal 100 may share the photo
content with the second device 200-2 and the fourth device
200-4.
[0375] FIGS. 25A through 25E are diagrams illustrating a method of
sharing content through a sharing panel, according to an exemplary
embodiment.
[0376] As shown in FIG. 25A, the first terminal 100 may sense a
user gesture for requesting a sharing panel 2500. The user gesture
for requesting the sharing panel 2500 may vary and may include, for
example, a dragging gesture for dragging down a status display bar,
and a pushing gesture for pushing a home button a predetermined
number of times (for example, twice); however exemplary embodiments
are not limited thereto.
[0377] As shown in FIG. 25B, the first terminal 100 may provide the
sharing panel 2500 in response to the user gesture for requesting
the sharing panel 2500. The sharing panel 2500 of an exemplary
embodiment denotes a space for displaying activity information of
the sharing group (for example, the user of the first terminal 100
and the user of the second terminal 200) that agrees to share the
content through the predetermined sharing operation.
[0378] The first terminal 100 of an exemplary embodiment may
display at least one of the information about the sharing operation
that is set in advance (for example, a photographing operation, a
music playing operation, etc.), applications relating to the
sharing operation (for example, a camera application, a content
reproduction application, etc.), and information 2510 about at
least one friend (or sharing group) connected through the sharing
operation on the sharing panel 2500.
[0379] According to an exemplary embodiment, the user may select a
camera application 2520 from among the applications relating to the
sharing operation on the sharing panel 2500.
[0380] In this case, as shown in FIG. 25C, the first terminal 100
may sense the selection of the user on the camera application 2520,
and may execute the camera application 2520.
[0381] As shown in FIG. 25D, the first terminal 100 may display an
image captured by the camera. Here, when receiving an upload
request of the captured image from the user, the first terminal 100
may upload the captured image to the sharing server as shown in
FIG. 25E. Otherwise, the first terminal 100 may transmit the
captured image directly to the second terminal 200.
[0382] The above exemplary embodiments may be implemented in the
form of executable program commands through a variety of computer
means and recorded on computer readable media. The computer
readable media may include solely or in combination, program
commands, data files and data structures. The program commands
recorded on the media may be components specially designed for the
exemplary embodiments or may be usable by one of ordinary skill in
the art of computer software. Computer readable recording media
include magnetic media such as a hard disk, a floppy disk, and a
magnetic tape, optical media such as a CD-ROM and a DVD,
magneto-optical media such as a floppy disk and hardware devices
such as ROM, RAM and flash memory specially designed to store and
carry out programs. Program commands include not only machine
language code generated by a complier but also high level code that
can be used by an interpreter etc., which is executed by a
computer.
[0383] According to an exemplary embodiment, a user may be
recommended a friend having a common interests based on interest
keyword information that is extracted by collecting and analyzing
event information in each of terminals owned by users. Therefore,
the user may be recommended a friend having common interests, and
thus, the users may easily share useful information with each
other.
[0384] While exemplary embodiments have been particularly shown and
described with reference to the drawings, it will be understood by
those of ordinary skill in the art that various changes in form and
details may be made therein without departing from the spirit and
scope of the inventive concept as defined by the following
claims.
* * * * *