WO2018192506A1 - Method and apparatus for recommending social information, and storage medium - Google Patents

Method and apparatus for recommending social information, and storage medium Download PDF

Info

Publication number
WO2018192506A1
WO2018192506A1 PCT/CN2018/083449 CN2018083449W WO2018192506A1 WO 2018192506 A1 WO2018192506 A1 WO 2018192506A1 CN 2018083449 W CN2018083449 W CN 2018083449W WO 2018192506 A1 WO2018192506 A1 WO 2018192506A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
trajectory
recommended
location
preset
Prior art date
Application number
PCT/CN2018/083449
Other languages
French (fr)
Chinese (zh)
Inventor
沈奕杰
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2018192506A1 publication Critical patent/WO2018192506A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a social information recommendation method, apparatus, and storage medium.
  • Social information recommendation is an important function of most existing social applications. It can find people who have potential social relationships with users according to certain rules. For example, according to the location of the user at a certain time, according to the distance, recommend nearby people. Among them, the range of "nearby" can be set according to actual needs or user preferences, for example, a range centered on the current location, a radius of 500 or 1000 meters, and the like can be set.
  • the embodiment of the invention provides a social information recommendation method, device and storage medium; the accuracy of the recommendation can be improved, and the recommendation effect is improved.
  • An embodiment of the present invention provides a social information recommendation method, including:
  • an embodiment of the present invention further provides a social information recommendation apparatus, including: a processor and a memory, where the processor executes machine readable instructions in the memory, where
  • an embodiment of the present invention further provides a non-volatile storage medium storing one or more programs, the one or more programs comprising: computer readable instructions, when the computer readable instructions are executed by a computing device The computing device is caused to perform the methods provided herein.
  • FIG. 1 is a schematic diagram of a scenario of a social information recommendation method according to an embodiment of the present invention
  • FIG. 1b is a flowchart of a social information recommendation method according to an embodiment of the present invention.
  • FIG. 2a is another flowchart of a social information recommendation method according to an embodiment of the present invention.
  • 2b is another schematic diagram of a scenario of a social information recommendation method according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a social information recommendation apparatus according to an embodiment of the present invention.
  • FIG. 3b is another schematic structural diagram of a social information recommendation apparatus according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • Embodiments of the present invention provide a social information recommendation method, apparatus, and system.
  • the social information recommendation system may include any one of the social information recommendation devices provided by the embodiment of the present invention.
  • the social information recommendation device may be integrated into a device such as a server.
  • the social information recommendation system may further include other The device, for example, can include a terminal, and the like.
  • the social information recommendation device is specifically integrated in the server, and the current user is the user A, and the terminal used by the user A is the terminal A.
  • the server can obtain the mobile track to be matched by the user A, where
  • the moving track may include at least two track locations, for example, the position change information of the user A sent by the terminal A may be received, and then the moving track of the user A is generated according to the position change information, and the generated moving track is used as the moving track to be matched.
  • the server may select other users having similar movement trajectories with the user A in the preset database according to the movement trajectory to be matched, such as user B, user C, and user D, etc., to obtain candidate user sets, and then determine respectively.
  • the candidate user sets the time at which each candidate user is located at the track location, determines the candidate user whose time meets the preset time condition as the user to be recommended, and determines the social information to be recommended according to the user to be recommended, and sends the information to the terminal A. For example, if the time when the user B is located at the track location can meet the preset time condition, and neither the user C nor the user D is satisfied, then the information of the user B can be determined as the social information to be recommended, and recommended to the user. A, and the information for the user C and the user D is not recommended (although the movement trajectories of the user C and the user D are similar to the movement trajectory of the user A).
  • a social information recommendation device which may be integrated into a server, such as a service server or the like.
  • a social information recommendation method includes: acquiring a movement trajectory to be matched by a current user, the movement trajectory includes at least two trajectory locations; and screening other users having similar movement trajectories with the current user in a preset database according to the movement trajectory to be matched
  • the candidate user set is obtained; the user to be recommended is determined from the candidate user according to the preset policy, the social information to be recommended is determined according to the user to be recommended, and the recommendation is made to the current user.
  • the specific process of the social information recommendation method may be as follows:
  • the current trajectory to be matched by the current user may include: the acquired trajectory of the current user's terminal.
  • the trajectory to be matched may be generated in real time, and may be specified or may be selected from the historical data, that is, the mobile trajectory to be matched by the current user may be obtained by using any one of the following methods:
  • the location change information of the current user sent by the terminal or other device may be specifically received.
  • the terminal or other device may acquire the current location change information of the current user by using a Global Positioning System (GPS), base station positioning, or other positioning motion detection technology.
  • GPS Global Positioning System
  • base station positioning or other positioning motion detection technology.
  • the location information of the current user within a certain time period may be obtained by using a positioning technology such as GPS or base station positioning, and the geographical location information is recorded, and then the location change information of the current user is generated according to the recorded geographical location information.
  • the geographical location information may be recorded by means of latitude and longitude, and the specific format is (longitude, latitude), for example, (113.34638, 23.11741), (113.34758, 23.11971), and the like.
  • the sampling point position of each geographical location information in the position change information is sequentially drawn according to the sampling time sequence to form the current user's moving track, and then The generated moving track is taken as the moving track to be matched by the current user, and the like.
  • the current trajectory to be matched by the current user may be based on the position coordinate of the starting point of the user, with the position coordinate of the ending point of the user as the end point, and the position coordinate of the approach point as the starting point. circuit diagram. If the position coordinates of the route point are not obtained, the movement track is a circuit diagram drawn with the position coordinates of the user's starting point as the starting point and the position coordinates of the user's ending point as the end point. If the user's starting point and ending point coincide, and the waypoint is not acquired, the moving track is a point. The starting point, the ending point, and the waypoint are all track locations.
  • the sampling point position can be used as the track location. For example, if a geographical position change information includes two sampling point positions, respectively (113.34638, 23.11741) and (113.34758, 23.11971), then the obtained moving track is obtained. It can also include two track locations, (113.34638, 23.11741) and (113.34758, 23.11971), and so on.
  • a geographical location label may also be added to each track location on the moving track, and saved to a preset database, that is, after the step “generate the current user's moving track according to the position change information”, the social information Recommended methods can also include:
  • the geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name, etc., such as (113.34638, 23.11741) Corresponding to XX City XX subway station, (133.34638, 24.11741) corresponding to XX City XX Building, and so on.
  • a selection instruction is received, and the corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction.
  • a user-triggered selection instruction may be received, and then a corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction; for example, if the user can specify a movement trajectory generated at a certain time as the movement trajectory to be matched, Alternatively, one or more moving tracks may be specified as the moving track to be matched, and the like.
  • the preset frequency condition may be set according to the requirements of the actual application.
  • the specific one may be as follows:
  • the historical moving track with the highest frequency of occurrence is selected from the obtained plurality of historical moving tracks as the moving track to be matched by the current user.
  • the historical moving track whose appearance frequency exceeds the preset frequency threshold is selected from the obtained plurality of historical moving tracks as the moving track to be matched by the current user.
  • the first K historical moving trajectories with the highest frequency of occurrence are selected from the obtained plurality of historical moving trajectories as the moving trajectory to be matched by the current user, where K is a positive integer, and the specific value may be determined according to the actual application requirement. For example, set K to 2, 3, or 5, and so on.
  • the preset time range may also be set according to the requirements of the actual application.
  • the preset time range is specifically 1 month, and a historical moving track with the highest frequency of occurrence is selected as an example, if user A is in the past In the month, there are a total of five moving trajectories. Among them, the historical moving trajectory 1 appears twice, and the other historical moving trajectories appear once. At this time, the historical moving trajectory 1 can be used as the moving trajectory of the current user to be matched. ,and many more.
  • each movement track includes at least one track location.
  • the geographic location label of the track location on the moving track to be matched may be acquired, and the geographical location label of the track location on the moving track of other users in the preset database is obtained, and the moving track is performed according to the obtained geographical location label. Clustering operations.
  • the moving trajectory for including the geographical location label of the trajectory location on the moving trajectory to be matched may be filtered, for example, the geographical location label of the trajectory location on the moving trajectory to be matched is “ For example, "A Building” and "XX Subway Station", at this time, it is possible to screen out moving tracks including "A Building” and "XX Subway Station", and so on.
  • clustering refers to the process of dividing a collection of physical or abstract objects into multiple classes consisting of similar objects.
  • a cluster generated by clustering is a collection of data objects that are similar to objects in the same cluster and different from objects in other clusters.
  • the specific algorithm of the clustering operation used in the embodiment of the present invention may be set according to the requirements of the actual application, and details are not described herein again.
  • the similarity between the movement trajectory of each user in the preset database and the movement trajectory to be matched is determined according to the operation result, and the user whose similarity is higher than the preset threshold is added as a candidate user to the candidate user set.
  • the preset threshold may be set according to the requirements of the actual application, and details are not described herein again.
  • the rule is to perform preliminary processing on the movement trajectory of the user acquired in the preset database, and then the movement trajectory is clustered according to the trajectory location on the trajectory to be matched and the trajectory location on the trajectory after the preliminary processing. Operation.
  • the preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; that is, the step "preliminarily processing the movement trajectory of the user acquired in the preset database according to the preset rule" may be as follows:
  • the top M movement trajectories with the highest frequency of occurrence of each user are selected as the movement trajectory after the initial processing, wherein M is a positive integer, and M can be actually applied according to the actual application. Requirements are set.
  • the preset policy can be set according to the requirements of the actual application. For example, the following can be:
  • the track location on the moving track of the current user A includes the XX subway station and the certain building
  • the candidate user set includes the candidate user B and the candidate user C.
  • the time may include a year field, a month field, a day field, a time field, a minute field, and a second field.
  • the field is “2014”
  • the month field is “12”
  • the day field is “13”
  • the time field is "10”
  • the subfield is "40”
  • the second field is "21”, and so on.
  • the preset time condition may be specifically set according to the requirements of the actual application, and details are not described herein again.
  • the time when the current user is located at the track location (ie, the track location on the moving track to be matched) may be acquired, according to the time when the current user is located at the track location, and the time when each candidate user is located at the track location.
  • the time difference between each candidate user and the current user is calculated as a time difference, and the candidate user whose time difference is less than the preset time threshold is determined as the user to be recommended.
  • the time when the current user is located at the track location may also include the year field, the month field, the day field, the time field, the minute field, and the second field, and the embodiment of the present invention
  • time difference refers to the difference between the fields specified in the time.
  • the specified field includes at least one of the year field, the month field, the day field, the time field, the minute field, and the second field.
  • the specified field can be set according to the needs of the actual application. For example, if the specified field is “time field, sub-field, and second field”, if the current user is located at the track location, the time is “10:40:21 on December 13, 2014”, and a candidate user is located.
  • the time of the track location is “10:45:21 on November 14, 2014”
  • the year field, month field and day field can be ignored when calculating the time difference, that is, only “10:40:21” and “ 10:45:21” difference.
  • the recommending to the current user may include: sending the social information to the terminal device of the current user.
  • the information of the user to be recommended may be directly used as the social information to be recommended; or the information of the user to be recommended may be used as the social information to be recommended.
  • the screening policy may be determined according to the requirements of the actual application. For example, the information of the user to be recommended that has the most “number of occurrences at the track location” may be selected as the social information to be recommended, etc., that is, in the step “according to Before recommending the user to determine the social information to be recommended, the recommended method of the social information may further include:
  • the number of times each candidate user in the candidate user set appears in the track location within a preset time period is determined separately.
  • the preset deadline may be set according to the requirements of the actual application, for example, may be set to one month, or one week, and the like.
  • the trajectory location on the trajectory of the current user A includes the XX subway station and the XX building
  • the candidate user set includes the candidate user B and the candidate user C
  • the preset period is one month as an example.
  • Determining the number of times that candidate user B appears in the XX subway station within one month ie, starting from the current time and in the past month); determining the number of times that candidate user B appears in a certain building within one month; determining candidate user C The number of times that the XX subway station appeared in a month; the number of times a candidate user C appeared in a certain building within one month, and so on, and so on.
  • the step of determining the social information to be recommended according to the user to be recommended may include: selecting, from the users to be recommended, the information of the user whose number of times meets the preset number of times as the social information to be recommended.
  • the details can be as follows:
  • the candidate users are sorted based on the number of times, and the information of the N recommended users is determined as the social information to be recommended according to the ranking result, where N is a positive integer.
  • the preset condition, the preset time threshold, the preset number of thresholds, and the value of the N may be set according to actual application requirements, and details are not described herein again.
  • direction can also be taken as one of the consideration factors, that is, after obtaining the social information to be recommended, the direction of the moving track (ie, the moving direction of the user on the moving track) can be preferentially recommended with the current user.
  • the social information to be recommended corresponding to the user to be recommended is consistent.
  • the mobile trajectory to be matched by the current user may be acquired, where the trajectory includes multiple trajectory locations, and then candidate users having similar trajectories with the current user are selected in the preset database, and the candidate is selected from
  • the candidate users who meet the preset time conditions at the time of the track are regarded as the users to be recommended, and the social information to be recommended is determined according to the user to be recommended, and is recommended to the current user. Since the scheme is recommended, compared with the prior art that the social information to be recommended is determined only according to the current location of the user, the application will include the entire moving track of multiple track locations as a consideration factor, thereby ensuring matching to the user.
  • the movement trajectory has greater similarity with the movement trajectory of the user, thereby ensuring more accurate matching of the social information of the target user, avoiding repeated matching due to inaccuracy of the social information of the matched user, and reducing duplicate matching.
  • the resulting system resources and time is wasted.
  • the social information recommendation device is specifically integrated in the server, the current user is the user A, the terminal where the user A is the terminal A, and the moving track to be matched is a real-time generated mobile track as an example. .
  • a social information recommendation method may be as follows:
  • the terminal A acquires location change information of the user A.
  • the terminal A may acquire the geographical location information of the user A within a certain time period by using GPS, base station positioning, or other positioning motion detection technology, and record the geographical location information, and then generate the location of the user A according to the recorded geographical location information. Change information, and more.
  • the geographical location information may be recorded by means of latitude and longitude, and the specific format is (longitude, latitude), for example, (113.34638, 23.11741), (113.34758, 23.11971), and the like.
  • the terminal A sends the location change information of the user A to the server.
  • the terminal A can transmit the location change information of the user A to the server via the Internet or a wireless network.
  • the location change information may be sent to the server as an independent information, or may be carried in other information and sent to the server, and details are not described herein.
  • the server After receiving the location change information, the server generates a movement trajectory of the user A according to the position change information, and uses the generated movement trajectory as a movement trajectory to be matched.
  • the sampling point positions are sequentially drawn according to the order of the sampling time to constitute the movement track of the user A, etc. Wait.
  • the moving track includes at least two track locations, for example, the sampling point position can be used as a track location, and the like.
  • the sampling point position can be used as a track location, and the like.
  • the obtained moving track may also include two track locations, respectively ( 113.34638, 23.11741) and (113.34758, 23.11971), and so on, and so on.
  • the geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name, etc., such as (113.34638, 23.11741) Corresponding to XX City XX subway station, (133.34638, 24.11741) corresponding to XX City XX Building, and so on.
  • the server acquires a movement track of other users in the preset database.
  • each moving track includes at least two track locations.
  • the method for generating the trajectory of the user is the same as the method for generating the trajectory of the user A.
  • the method for generating the trajectory of the user A For details, refer to step 203, and details are not described herein again.
  • the server performs a clustering operation on the moving track according to the track location on the moving track to be matched, and the track location on the moving track of other users in the preset database.
  • the server may obtain a geographical location label of the track location on the moving track to be matched, and obtain a geographical location label of the track location on the movement track of other users in the preset database, and then move the track according to the obtained geographical location label. Perform clustering operations.
  • the specific algorithm of the clustering operation can be set according to the requirements of the actual application, for example, a division method, a hierarchy method, a density algorithm, a graph theory clustering method, a grid algorithm, or a model algorithm, etc., etc., Let me repeat.
  • the movement trajectory of the user acquired in the preset database may be preliminarily processed according to a preset rule, and then according to the trajectory on the moving trajectory to be matched.
  • the location and the trajectory location on the trajectory after the initial processing cluster the movement trajectory.
  • the preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; for example, the specifics can be as follows:
  • the server selects a movement trajectory whose trajectory generation time is within a preset period from the movement trajectory of the user acquired in the preset database as the movement trajectory after the preliminary processing; for example, the generation time can be selected as “December 1, 2014 The movement trajectory between December 30, 2014, as the movement trajectory after the initial processing, or one day, such as the movement trajectory of "December 1, 2014", and the like.
  • the server may also select the first M moving trajectories with the highest frequency of occurrence of each user from the movement trajectory of the user acquired in the preset database, as the moving trajectory after preliminary processing, where M is a positive integer, M specific It can be set according to the requirements of the actual application; for example, taking M as 2 as an example, if A has 5 moving tracks, wherein the first two moving tracks with the highest frequency of occurrence are moving track 1 and moving track 2, then, The moving track 1 and the moving track 2 can be filtered out, as a preliminary processed moving track corresponding to A, and so on, and so on.
  • the server selects other users that have similar movement trajectories with the user A according to the operation result, and obtains the candidate user set; for example, the specifics may be as follows:
  • the server determines, according to the operation result, the similarity between the movement trajectory of each user in the preset database and the movement trajectory to be matched, and adds the user whose similarity is higher than the preset threshold as a candidate user to the candidate user set.
  • the preset threshold may be set according to the requirements of the actual application. For example, the preset threshold is specifically 95%. If the user B moves the trajectory to the matching trajectory, the similarity is 96%, and the user C The similarity between the movement trajectory and the movement trajectory to be matched is 95%, the similarity between the movement path of the user D and the movement trajectory to be matched is 98%, and the similarity between the movement path of the user E and the movement trajectory to be matched is 85. %, the similarity between the user F movement trajectory and the movement trajectory to be matched is 60%. At this time, user B, user C, and user D can be added as candidate users to the candidate user set corresponding to user A.
  • the server determines, respectively, a time when each candidate user in the candidate user set is located at the track location (ie, the track location on the moving track to be matched).
  • the time of the present invention may include a year field, a month field, a day field, a time field, a subfield, and a second field.
  • the "second field" is omitted as an example. .
  • the preset deadline may be set according to the requirements of the actual application, for example, may be set to one month, or one week, and the like.
  • the track location on the moving track of the current user A includes the XX subway station and the certain building
  • the candidate user set includes the candidate user B, the candidate user C, and the candidate user D
  • the preset period is one month (ie, current Time is the starting point, in the past month), for example, at this point, you can determine the following information:
  • Determining the time when the candidate user D is located at the XX subway station for example, "7:55 on December 13, 2014", and determining the number of times the XX subway station appears in the same month, for example, 2 times;
  • the server determines, by the server, the candidate user that meets the preset time condition as the user to be recommended.
  • the server may obtain the time when the user A is located at the trajectory location, and calculate, according to the time when the user A is located at the trajectory location, and the time when each candidate user is located at the trajectory location, respectively, each candidate user is located at the same trajectory location as the user A.
  • the time difference is determined by the candidate user whose time difference is less than the preset time threshold as the user to be recommended.
  • the "time difference” refers to the difference between the specified fields in the time.
  • the specified field can be set according to the requirements of the actual application. For the convenience of description, in this embodiment, the specified field will be the "time field and The sub-field is described as an example.
  • the year field, the month field, the day field, and the second field can be ignored. For example, if the user A is located at the XX subway station, the time is "December 14, 2014, 8:00. ", while User B's time at XX subway station is "8:03 on December 13, 2014", at this time, it can be determined that User A's time at XX subway station is "8:00", and User B is at XX.
  • the time at the subway station is "8:03", and then the time difference between "8:00" and "8:03" is calculated. It should be noted that, for convenience of description, when describing the time when each user is located at the track location, the following is an example of ignoring the year field, the month field, the day field, and the second field (ie, only representing the time field and the minute field). .
  • the candidate user when it is determined that the user is to be recommended, the candidate user may be determined as the user to be recommended when the “time difference” corresponding to all the track locations on the track is less than the preset time threshold, or It can be set that as long as the “time difference” corresponding to a certain track location is less than the preset time threshold, the corresponding candidate user can be determined as the user to be recommended, and so on.
  • the latter is taken as an example. Description.
  • the absolute value of the difference between the time when the user A is located at the trajectory location and the time when the candidate user is located at the trajectory location may be the time difference between the user A and the candidate user at the trajectory location.
  • the candidate user includes the candidate user B, the candidate user C, and the candidate user D, and the preset time difference threshold is 12 minutes. If the user A is located at the XX subway station, the time is 8:00. The time at the certain building is “8:30”; the time for candidate user B at XX subway station is “8:03”, the time for a certain building is “8:20”; candidate user C is located at XX subway station.
  • the time is "23:00", the time in a certain building is "23:30"; the time of candidate user D is XX subway station is "7:55", and the time in a certain building is "8:25"
  • the time difference between user A and each candidate user at XX subway station and certain building can be calculated separately, as shown in Table 1:
  • the time difference between the user A and the candidate user B, and the user A and the candidate user C in the XX subway station, and the time difference in the certain building are both smaller than the preset time threshold. Therefore, the candidate user B and the candidate user C can be treated as Recommended users.
  • the server determines the social information to be recommended according to the user to be recommended.
  • the server may directly use the information of the user to be recommended as the social information to be recommended. For example, if both user B and user C are used as the user to be recommended in step 208, the information of the user B to be recommended may be separately obtained. And the information of the user C to be recommended, and the obtained information is used as the social information to be recommended.
  • the information of the user to be recommended may include user information such as user identification, gender, age, and/or hobbies of the user to be recommended, and may also include The similarity of the movement trajectory of the recommended user to the current user (such as user A), the same trajectory location that has been visited, the number of times the same trajectory location is visited, and/or the time of visiting the same trajectory location, and the like.
  • the user identifier may include a user name and/or an account number and the like.
  • the server may also use the information of the user to be recommended as the social information to be recommended, and the server may also filter the information of the user to be recommended as the social information to be recommended, for example, in step 207.
  • the server performs the step of “determining the number of times each candidate user in the candidate user set appears in the track location within a preset period of time”, and then selecting the number of times the predetermined number of times can be selected from the users to be recommended.
  • User information as social information to be recommended.
  • the preset number of times can be set according to the requirements of the actual application.
  • the specific information may be as follows:
  • the information of the candidate user whose number is greater than the preset number threshold is determined as the social information to be recommended to make a recommendation to the current user.
  • the candidate user B includes the candidate user B and the user D to be recommended, and the preset number of times is 5 times. If the user B to be recommended appears in the XX subway station within 10 months, the number of occurrences is 10 The number of times a building is 10 times; the number of times the user D is expected to appear in the XX subway station within one month is 3 times, and the number of occurrences in a certain building is 3 times, because the number of times the user B to be recommended corresponds to a preset number of times The threshold is "5 times". Therefore, the information of the user B to be recommended can be determined as the social information to be recommended, and the user A is recommended, and the user D to be recommended is not recommended.
  • the recommended users may be sorted based on the number of times, and the information of the N most recommended users is determined as the social information to be recommended according to the ranking result, so as to recommend to the current user, where N is a positive integer. .
  • the user to be recommended includes the user B to be recommended, the user C to be recommended, and the candidate user D, and N is 2, and if the user B to be recommended appears in the XX subway station within 10 months, the number of occurrences is 10 The number of times a certain building is 10 times; the number of users to be recommended C appears in the XX subway station within one month, and the number of occurrences in a certain building is 1; the recommended user D appears in the XX within one month.
  • the number of subway stations is 3, and the number of occurrences in a certain building is 3; at this time, these times can be sorted based on the location of the track, such as from large to small: "XX subway station: user B to be recommended >Recommended user D>Recommended user C”, “A certain building: to be recommended user B>To be recommended user D>To be recommended user C”, therefore, the number of users to be recommended B and the user to be recommended D can be more frequently
  • the information is determined to be recommended social information, recommended to user A, and so on.
  • the server sends the social information to be recommended to the terminal A to perform recommendation to the user A.
  • the terminal A may display the social information to be recommended on the preset interface.
  • the information about the social information to be recommended is the user B.
  • the user B may be displayed.
  • Other information may also be displayed, such as displaying the moving track to be matched, and displaying the geographic location label of each track location on the moving track to be matched, and the like.
  • the current trajectory of the current user may be generated according to the location change information, where the trajectory includes multiple trajectory locations, and then, the preset database is selected.
  • a candidate user having a similar moving trajectory with the current user, selecting information of the candidate users that meet the preset conditions at the time and number of times of the trajectory locations as the social information to be recommended, and recommending to the current user; since the scheme is recommended,
  • the embodiment is similar to the previous embodiment, in which the social information recommendation device is specifically integrated in the server, the current user is the user A, and the terminal where the user A is the terminal A is taken as an example, which is different from the previous embodiment.
  • the trajectory to be matched used in this embodiment is selected from the historical data of the user A. That is, in the flow of the previous embodiment, the steps 201 to 203 may be replaced with the following steps:
  • the server obtains a plurality of historical movement trajectories of the user A in the past preset time range, and selects a historical movement trajectory whose appearance frequency meets the preset frequency condition from the obtained plurality of historical movement trajectories, as the movement trajectory of the user A to be matched.
  • the preset frequency condition may be set according to the requirements of the actual application.
  • the specific one may be as follows:
  • the server selects the historical moving track with the highest frequency of occurrence from the obtained plurality of historical moving tracks as the moving track to be matched by the user A.
  • the server selects, from the obtained plurality of historical movement trajectories, a historical movement trajectory whose appearance frequency exceeds a preset frequency threshold, as a movement trajectory to which the user A is to be matched.
  • the server selects the top K historical moving trajectories with the highest frequency of occurrence from the obtained plurality of historical moving trajectories as the moving trajectory to be matched by the user A.
  • K is a positive integer
  • the specific value may be determined by the actual application requirements, for example, setting K to 2, 3, or 5, and the like.
  • the preset time range may also be set according to the requirements of the actual application.
  • the preset time range is specifically 1 month, and a historical moving track with the highest frequency of occurrence is selected as an example, if user A is in the past In the month, there are a total of five moving trajectories.
  • a certain moving trajectory such as "XX subway station -> XX building -> XX park” appears twice, while other historical movement trajectories have only appeared once, then At this time, it can be determined that the movement track "XX subway station -> XX building -> XX park” has the highest frequency of occurrence in the past month, so you can move the trajectory "XX subway station -> XX building -> XX park "As the movement track of user A to be matched.
  • the moving track to be matched is the moving track with the highest frequency of the user A in the past month, it is indicated that the user A is most likely to appear at each place on the moving track, so if a certain time difference is recommended at this time within the scope of users who are also active near this moving track, especially those who are frequently active in the vicinity, the likelihood that the recommended user will establish a social relationship with User A is greatly increased.
  • a specific movement trajectory may be specified as User A's moving track to be matched; for example, the server may receive a user-triggered selection instruction, and then select a corresponding moving track as the moving track to be matched according to the selection instruction.
  • user A wishes to use the movement track "XX subway station -> XX building -> XX park" as the moving track to be matched
  • user A triggers a selection instruction
  • the terminal sends the selection instruction to the server through the terminal.
  • the server acquires the movement track of the "XX subway station -> XX building -> XX park" according to the selection instruction, as the moving track of the user A to be matched.
  • user A can trigger the selection instruction through the terminal. Sending the selection instruction to the server, and then obtaining, by the server, the corresponding movement trajectory according to the period indicated in the selection instruction (ie, the movement trajectory between December 12, 2014 and December 14, 2014) User A's movement track to be matched.
  • the embodiment can further improve the accuracy, recommendation effect, and flexibility of the recommendation.
  • the embodiment of the present invention further provides a social information recommendation device, which may be integrated into a server, such as a service server or the like.
  • the social information recommendation apparatus includes an acquisition unit 301, a screening unit 302, a determination unit 303, and a recommendation unit 304, as follows:
  • the obtaining unit 301 is configured to use a moving track to be matched by the current user, where the moving track includes at least two track locations.
  • the moving track to be matched may be generated in real time, namely:
  • the acquiring unit 301 is specifically configured to acquire location change information of the current user, and generate a current trajectory of the current user according to the location change information.
  • the acquiring unit 301 may be specifically configured to sequentially draw the sampling point position according to the sampling point position and the sampling time according to the information of each geographical location information in the position change information, to form the The current user's movement trajectory is then used as the movement trajectory to be matched by the current user, wherein the sampling point position can be used as the trajectory location.
  • the movement track to be matched can also be specified by the user, namely:
  • the obtaining unit 301 is specifically configured to receive a selection instruction, and select a corresponding movement trajectory as the movement trajectory to be matched according to the selection instruction.
  • the moving track to be matched may also be filtered from historical data, namely:
  • the acquiring unit 301 may be configured to acquire a plurality of historical movement trajectories of the current user in a preset time range, and select a historical movement trajectory whose appearance frequency meets the preset frequency condition from the acquired plurality of historical movement trajectories. The current user's movement trajectory.
  • the preset frequency condition may be set according to the requirements of the actual application.
  • the specific one may be as follows:
  • the acquiring unit 301 is specifically configured to select, from the acquired plurality of historical moving trajectories, a historical moving trajectory with the highest frequency of occurrence as the moving trajectory to be matched by the current user.
  • the obtaining unit 301 may be specifically configured to select, from the acquired plurality of historical movement trajectories, a historical movement trajectory whose appearance frequency exceeds a preset frequency threshold as a movement trajectory to be matched by the current user.
  • the obtaining unit 301 may be specifically configured to select, from the acquired plurality of historical moving trajectories, the top K historical moving trajectories with the highest frequency of occurrence as the moving trajectory to be matched by the current user, where K is a positive integer, specifically The value can be determined by the actual application requirements, for example, setting K to 2, 3 or 5, and so on.
  • the preset time range may also be set according to the requirements of the actual application, and details are not described herein again.
  • a geographical location label may also be added to each track location on the moving track, and saved to a preset database, that is, as shown in FIG. 3b, the social information recommendation apparatus may further include an adding unit 305 and saving.
  • Unit 306 is as follows:
  • the adding unit 305 is configured to add a geographical location label to the track location on the generated moving track;
  • the saving unit 306 is configured to save the moving track after the geographic location tag is added to the preset database.
  • the geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name on the trajectory location, as shown in the previous implementation. For example, it will not be described here.
  • the filtering unit 302 is configured to filter other users having similar movement trajectories with the current user in the preset database according to the movement trajectory to be matched, to obtain a candidate user set;
  • the screening unit 302 can include an acquisition subunit, an operation subunit, and a screening subunit, as follows:
  • the acquisition sub-unit is used to obtain the movement track of all users in the preset database.
  • the operation subunit is configured to cluster the movement trajectory according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database.
  • the operation subunit may be specifically configured to obtain a geographical location label of the track location on the moving track to be matched, and obtain a geographical location label of the track location on the moving track of other users in the preset database;
  • the geolocation tag performs a clustering operation on the moving trajectory.
  • the filtering sub-unit is configured to filter other users having similar moving trajectories with the current user according to the operation result, and obtain a candidate user set.
  • the screening sub-unit may be specifically configured to determine, according to the operation result, a similarity between a movement trajectory of each user in the preset database and the movement trajectory to be matched, and a user with a similarity higher than a preset threshold as a candidate user. Add to the candidate user set.
  • the preset threshold may be set according to the requirements of the actual application, and details are not described herein again.
  • the movement trajectory of the user acquired in the preset database may be preliminarily processed according to a preset rule, and then the operation subunit is based on the movement to be matched.
  • the initial processing sub-unit is configured to perform preliminary processing on the movement track of the user acquired in the preset database according to a preset rule.
  • the operation subunit may be specifically configured to perform clustering operation on the movement trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the trajectory after the preliminary processing.
  • the preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; that is:
  • the initial processing sub-unit may be specifically configured to select, from the movement trajectory of the user acquired in the preset database, a movement trajectory whose trajectory generation time is within a preset period, as a movement trajectory after the preliminary processing.
  • the initial processing sub-unit may be specifically configured to select, from the movement trajectory of the user acquired in the preset database, the top M movement trajectories with the highest frequency of occurrence of each user as the movement trajectory after the preliminary processing.
  • M is a positive integer, and the specific value may be determined according to the needs of the actual application.
  • the determining unit 303 is configured to determine, from the candidate user set, the user to be recommended according to a preset policy.
  • the preset policy can be set according to the requirements of the actual application. For example, the following can be:
  • the determining unit 303 may be specifically configured to determine time when each candidate user in the candidate user set is located in the track location, and determine, as the user to be recommended, the candidate user that meets the preset time condition at the time (ie, the time determined by the determining unit 303) .
  • the determining unit 303 may be specifically configured to acquire a time when the current user is located at the track location (ie, a track location on the moving track to be matched); according to the current user located at the track location (ie, the moving track to be matched) The time when the track location is located, and the time when each candidate user is located at the track location (ie, the track location on the moving track to be matched), respectively calculates the time difference between each candidate user and the current user at the same track location; the time difference is less than the pre- The candidate user who sets the time threshold is determined as the user to be recommended.
  • the preset time condition may be specifically set according to the requirements of the actual application, and details are not described herein again.
  • the time may include a year field, a month field, a day field, a time field, a subfield, and a second field
  • the “time difference” in the embodiment of the present invention refers to the difference between the specified fields in the time.
  • the specified field can be set according to the requirements of the actual application.
  • the "time field” and the "subfield” can be used as the specified field, and so on.
  • the recommendation unit 304 is configured to determine social information to be recommended according to the user to be recommended, and make a recommendation to the current user.
  • the recommendation unit 304 may be specifically configured to use the information of the user to be recommended as the social information to be recommended.
  • the recommendation unit 304 may be configured to: after filtering the user to be recommended, use the information of the to-be-recommended user to be recommended as the social information to be recommended.
  • the screening policy may be determined according to the needs of the actual application. For example, the information of the user to be recommended that has the most “number of occurrences at the track location” may be selected as the social information to be recommended, etc., namely:
  • the determining unit 303 is further configured to determine, respectively, the number of times each candidate user in the candidate user set appears in the track location within a preset time limit.
  • the recommendation unit 304 is specifically configured to select information of the user whose number of times meets the preset number of times from the users to be recommended as the social information to be recommended.
  • the recommendation unit 304 may be specifically configured to select information of the user whose number of times is greater than a preset number of times from the users to be recommended as the social information to be recommended; or
  • the recommendation unit 304 is specifically configured to perform the ranking of the recommended users based on the number of times, and determine the information of the N recommended users according to the ranking result as the social information to be recommended, where N is a positive integer.
  • the preset period, the preset number threshold, and the value of N may be set according to actual application requirements, for example, may be set to one month, or one week, and the like.
  • the foregoing units may be implemented as a separate entity, or may be implemented in any combination, and may be implemented as the same or a plurality of entities.
  • the foregoing method embodiments and details are not described herein.
  • the acquiring unit 301 of the social information recommendation apparatus of the present embodiment can acquire the movement trajectory to be matched by the current user, wherein the movement trajectory includes a plurality of trajectory locations, and then the screening unit 302 filters and presets in the preset database. a candidate user whose current user has a similar movement trajectory, and a candidate user selected by the determining unit 303 from the time of the trajectory location to meet the preset time condition as the user to be recommended, and determining the social information to be recommended according to the user to be recommended, Recommended by the recommendation unit 304 to the current user; since the scheme is recommended, in addition to the current location as a consideration factor, the movement trajectory can be similar, as well as other historical behavior data of the users, such as the appearance time at these locations, etc. It is also considered as one of the factors to be considered. Therefore, it is possible to perform more effective matching than the existing one that only performs a single matching, greatly improving the accuracy of the recommendation, and improving the recommendation effect.
  • the embodiment of the present invention further provides a social information recommendation system, which may include any social information recommendation device provided by the embodiment of the present invention, where the social information recommendation device may be specifically integrated in a server.
  • a social information recommendation system may include any social information recommendation device provided by the embodiment of the present invention, where the social information recommendation device may be specifically integrated in a server.
  • the social information recommendation device may be specifically integrated in a server.
  • it can be as follows:
  • a server configured to acquire a moving track to be matched by the current user, where the moving track includes at least two track locations; and other users having similar moving tracks with the current user are filtered in the preset database according to the moving track to be matched, and the candidate user set is obtained. Determining the user to be recommended from the candidate users according to the preset policy, determining the social information to be recommended according to the user to be recommended, and making recommendations to the current user.
  • the preset policy can be set according to the requirements of the actual application, for example, as follows:
  • the server may be specifically configured to determine time when each candidate user in the candidate user set is located at the track location, and determine the candidate user that meets the preset time condition as the user to be recommended.
  • the server may specifically acquire a movement trajectory of all users in the preset database, and cluster the movement trajectory according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database.
  • the operation extracts other users having similar movement trajectories from the current user according to the operation result, and obtains a candidate user set.
  • the trajectory of the user's trajectory acquired in the preset database may be pre-processed according to the preset rule before the clustering operation.
  • the preset rule For details, refer to the previous embodiment, and details are not described herein. .
  • the manner in which the server obtains the current trajectory to be matched by the current user may be various, for example, as follows:
  • the server may be configured to obtain the location change information of the current user, generate a current trajectory of the current user according to the location change information, and use the generated trajectory as the trajectory of the current user to be matched.
  • the server may be specifically configured to receive a selection instruction, and select a corresponding movement trajectory as the movement trajectory to be matched according to the selection instruction.
  • the server may be configured to obtain a plurality of historical movement trajectories of the current user within a preset time range, and select a historical movement trajectory whose appearance frequency meets the preset frequency condition from the acquired plurality of historical movement trajectories. The movement track of the current user to be matched.
  • the social information to be recommended When the social information to be recommended is determined according to the user to be recommended, the information of the user to be recommended may be directly used as the social information to be recommended, and the information of the user to be recommended may be selected as the information of the user to be recommended.
  • Social information to be recommended for example, can be as follows:
  • the server may be specifically configured to determine, respectively, the number of times that each candidate user in the candidate user set appears in the track location within a preset time period, and select, from the users to be recommended, the information of the user that meets the preset number of times as the to-be-recommended Social information.
  • the preset period can be set according to the requirements of the actual application, and details are not described herein again.
  • the social information recommendation system may also include other devices, such as a terminal, etc., as follows:
  • the terminal is configured to receive social information to be recommended sent by the server.
  • the terminal may be further configured to obtain location change information of the current user, and send the location change information to the server.
  • the social information recommendation system may include any of the social information recommendation devices provided by the embodiments of the present invention. Therefore, the beneficial effects of any of the social information recommendation devices provided by the embodiments of the present invention may be implemented. The foregoing embodiments are not described herein again.
  • the embodiment of the present invention further provides a server, as shown in FIG. 4, which shows a schematic structural diagram of a server according to an embodiment of the present invention, specifically:
  • the server may include one or more processing core processor 401, one or more computer readable storage medium memories 402, power source 403, and input unit 404. It will be understood by those skilled in the art that the server structure illustrated in FIG. 4 does not constitute a limitation to the server, and may include more or less components than those illustrated, or some components may be combined, or different component arrangements. among them:
  • the processor 401 is the control center of the server, connecting various portions of the entire server using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 402, such as computer readable instructions, and calls stored in The data in the memory 402 performs various functions of the server and processes the data, thereby integrally monitoring the server.
  • the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, an application, etc., and performs modulation and demodulation.
  • the processor primarily handles wireless communications. It can be understood that the above modem processor may not be integrated into the processor 401.
  • the memory 402 can be used to store software programs and modules, and the processor 401 executes various functional applications and data processing by running software programs and modules stored in the memory 402.
  • the memory 402 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the server, etc.
  • memory 402 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, memory 402 can also include a memory controller to provide processor 401 access to memory 402.
  • the server also includes a power source 403 that supplies power to the various components.
  • the power source 403 can be logically coupled to the processor 401 via a power management system to enable management of charging, discharging, and power management functions through the power management system.
  • the power supply 403 may also include any one or more of a DC or AC power source, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
  • the server can also include an input unit 404 that can be used to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
  • an input unit 404 can be used to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
  • the server may further include a display unit or the like, and details are not described herein again.
  • the processor 401 in the server loads the executable file corresponding to the process of one or more applications into the memory 402 according to the following instruction, and is stored in the memory by the processor 401.
  • the application in 402 thereby implementing the method illustrated in Figures 1b and 2a above, and the operation of the apparatus illustrated in Figures 3a and 3b, for example:
  • the moving track includes at least two track locations; and screening other users having similar moving tracks with the current user according to the moving track to be matched, obtaining a candidate user set, according to the preset
  • the policy determines the user to be recommended from the candidate user set. For example, the time when each candidate user in the candidate user set is located at the track location may be determined separately; the candidate user whose time meets the preset time condition is determined as the user to be recommended, and then, according to The recommended user determines the social information to be recommended and makes a recommendation to the current user.
  • the movement trajectory of all users in the preset database may be acquired, and the movement trajectory is clustered according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database, According to the operation result, other users having similar movement trajectories with the current user are selected to obtain a candidate user set.
  • the trajectory of the user's trajectory acquired in the preset database may be pre-processed according to the preset rule before the clustering operation.
  • the preset rule For details, refer to the previous embodiment, and details are not described herein. .
  • the manner in which the server obtains the current trajectory to be matched by the current user may be various, that is, the processor 401 may also run an application stored in the memory 402 to implement the following functions:
  • a selection instruction is received, and the corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction.
  • the social information to be recommended When the social information to be recommended is determined according to the user to be recommended, the information of the user to be recommended may be directly used as the social information to be recommended, and the information of the user to be recommended may be selected as the information of the user to be recommended.
  • the social information to be recommended that is, the processor 401 can also run an application stored in the memory 402 to implement the following functions:
  • the number of times that each candidate user in the candidate user set appears in the track location within a preset time period is determined, and the information of the user whose number of times meets the preset number of times is selected from the users to be recommended as the social information to be recommended.
  • the preset period can be set according to the requirements of the actual application, and details are not described herein again.
  • the server in this embodiment can acquire the moving track to be matched by the current user, where the moving track includes multiple track locations, and then, in the preset database, select candidate users having similar moving tracks with the current user, from which Selecting a candidate user that meets the preset time condition at the time of the track location as the user to be recommended, and determining the social information to be recommended according to the user to be recommended, recommending to the current user; since the solution is recommended, in addition to the current
  • the similar trajectories of movement, as well as other historical behavioral data of these users, such as the time of appearance at these locations are also considered as one of the considerations. Therefore, compared with the existing scheme of only performing a single match. In other words, more effective matching can be performed, which greatly improves the accuracy of the recommendation and improves the recommendation effect.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
  • ROM Read Only Memory
  • RAM Random Access Memory

Abstract

Disclosed are a method and apparatus for recommending social information, and a storage medium. The method is capable of acquiring a moving track, to be matched, of a current user, wherein the moving track comprises at least two track positions (101); according to the moving track to be matched, screening, in a pre-set database, other users with similar moving tracks to that of the current user to obtain a candidate user set (102); according to a pre-set strategy, determining, from the candidate user set, a user to be recommended (103); and according to the user to be recommended, determining social information to be recommended, and recommending the social information to the current user (104).

Description

社交信息推荐方法、装置和存储介质Social information recommendation method, device and storage medium
本申请要求于2017年4月18日提交中国专利局、申请号为2017102540718、发明名称为“一种社交信息推荐方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application, which is filed on Apr. 18, 2017, the number of in.
技术领域Technical field
本发明涉及通信技术领域,具体涉及一种社交信息推荐方法、装置和存储介质。The present invention relates to the field of communications technologies, and in particular, to a social information recommendation method, apparatus, and storage medium.
背景技术Background technique
随着互联网技术的快速发展,以及移动终端的普及,人们的生活方式也在悄然地发生变化,社交方式便是其中的一种。With the rapid development of Internet technology and the popularity of mobile terminals, people's lifestyles are quietly changing, and social methods are one of them.
社交信息推荐,是现有多数社交应用的一个重要功能,它可以按照一定规律找到与用户具有潜在社交关系的人。比如,可以根据用户某个时间所处的地点,按距离远近,向其推荐附近的人。其中,“附近”的范围可以根据实际需求或用户喜好进行设置,比如,可以设置以当前地点为中心,半径500或1000米内的范围,等等。Social information recommendation is an important function of most existing social applications. It can find people who have potential social relationships with users according to certain rules. For example, according to the location of the user at a certain time, according to the distance, recommend nearby people. Among them, the range of "nearby" can be set according to actual needs or user preferences, for example, a range centered on the current location, a radius of 500 or 1000 meters, and the like can be set.
发明内容Summary of the invention
本发明实施例提供一种社交信息推荐方法、装置和存储介质;可以提高推荐的精确性,改善推荐效果。The embodiment of the invention provides a social information recommendation method, device and storage medium; the accuracy of the recommendation can be improved, and the recommendation effect is improved.
本发明实施例提供一种社交信息推荐方法,包括:An embodiment of the present invention provides a social information recommendation method, including:
获取当前用户待匹配的移动轨迹,所述移动轨迹包括至少两个轨迹地点;Obtaining a moving track to be matched by the current user, where the moving track includes at least two track locations;
根据所述待匹配的移动轨迹在预设数据库中筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集;Selecting other users that have a matching moving track with the current user in the preset database according to the moving track to be matched, and obtaining a candidate user set;
按照预设策略从所述候选用户中确定待推荐用户;Determining a user to be recommended from the candidate users according to a preset policy;
获取待推荐用户的社交信息,并发送给所述当前用户。Get social information of the user to be recommended and send it to the current user.
相应的,本发明实施例还提供一种社交信息推荐装置,包括:处理器和存储器, 所述处理器执行所述存储器中的机器可读指令,用于Correspondingly, an embodiment of the present invention further provides a social information recommendation apparatus, including: a processor and a memory, where the processor executes machine readable instructions in the memory, where
获取当前用户待匹配的移动轨迹,所述移动轨迹包括至少两个轨迹地点;Obtaining a moving track to be matched by the current user, where the moving track includes at least two track locations;
根据所述待匹配的移动轨迹在预设数据库中筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集;Selecting other users that have a matching moving track with the current user in the preset database according to the moving track to be matched, and obtaining a candidate user set;
按照预设策略从所述候选用户确定待推荐用户;Determining a user to be recommended from the candidate user according to a preset policy;
获取待推荐用户的社交信息,并发送给所述当前用户。Get social information of the user to be recommended and send it to the current user.
此外,本发明实施例还提供一种非易失性存储介质,存储有一个或多个程序,所述一个或多个程序包括:计算机可读指令,当所述计算机可读指令由计算设备执行时,使得所述计算设备执行本申请提供的方法。In addition, an embodiment of the present invention further provides a non-volatile storage medium storing one or more programs, the one or more programs comprising: computer readable instructions, when the computer readable instructions are executed by a computing device The computing device is caused to perform the methods provided herein.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings can also be obtained from those skilled in the art based on these drawings without paying any creative effort.
图1a是本发明实施例提供的社交信息推荐方法的场景示意图;FIG. 1 is a schematic diagram of a scenario of a social information recommendation method according to an embodiment of the present invention;
图1b是本发明实施例提供的社交信息推荐方法的流程图;FIG. 1b is a flowchart of a social information recommendation method according to an embodiment of the present invention;
图2a是本发明实施例提供的社交信息推荐方法的另一流程图;2a is another flowchart of a social information recommendation method according to an embodiment of the present invention;
图2b是本发明实施例提供的社交信息推荐方法的另一场景示意图;2b is another schematic diagram of a scenario of a social information recommendation method according to an embodiment of the present invention;
图3a是本发明实施例提供的社交信息推荐装置的结构示意图;FIG. 3 is a schematic structural diagram of a social information recommendation apparatus according to an embodiment of the present invention; FIG.
图3b是本发明实施例提供的社交信息推荐装置的另一结构示意图;FIG. 3b is another schematic structural diagram of a social information recommendation apparatus according to an embodiment of the present invention;
图4是本发明实施例提供的服务器的结构示意图。FIG. 4 is a schematic structural diagram of a server according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明实施例提供一种社交信息推荐方法、装置和系统。Embodiments of the present invention provide a social information recommendation method, apparatus, and system.
其中,该社交信息推荐系统可以包括本发明实施例所提供的任一种社交信息推荐装置,该社交信息推荐装置具体可以集成在服务器等设备中,此外,该社交信息推荐系统还可以包括其他的设备,比如可以包括终端,等等。The social information recommendation system may include any one of the social information recommendation devices provided by the embodiment of the present invention. The social information recommendation device may be integrated into a device such as a server. In addition, the social information recommendation system may further include other The device, for example, can include a terminal, and the like.
例如,以该社交信息推荐装置具体集成在服务器中,且当前用户为用户A,用户A使用的终端为终端A为例,参见图1a,服务器可以获取用户A待匹配的移动轨迹,其中,该移动轨迹可以包括至少两个轨迹地点,比如,可以接收终端A发送的用户A的位置变化信息,然后根据该位置变化信息生成用户A的移动轨迹,将该生成的移动轨迹作为待匹配的移动轨迹;或者,也可以获取当前用户在过去预设时间范围内的多条历史移动轨迹,从中选取出现频率符合预设频率条件(比如出现频率最高)的历史移动轨迹,作为当前用户待匹配的移动轨迹,等等。此后,服务器可以根据该待匹配的移动轨迹,在预设数据库中筛选出与用户A具有相似移动轨迹的其他用户,如用户B、用户C和用户D等,得到候选用户集,然后,分别确定候选用户集中每一个候选用户位于这些轨迹地点的时间,将该时间满足预设时间条件的候选用户确定为待推荐用户,并根据该待推荐用户确定待推荐社交信息,以发送给终端A。比如,若用户B位于这些轨迹地点时的时间可以满足预设时间条件,而用户C和用户D均不满足,那么,此时,可以将用户B的信息确定为待推荐社交信息,推荐给用户A,而对于用户C和用户D的信息则不进行推荐(虽然用户C和用户D的移动轨迹与用户A的移动轨迹也相似)。For example, the social information recommendation device is specifically integrated in the server, and the current user is the user A, and the terminal used by the user A is the terminal A. For example, as shown in FIG. 1a, the server can obtain the mobile track to be matched by the user A, where The moving track may include at least two track locations, for example, the position change information of the user A sent by the terminal A may be received, and then the moving track of the user A is generated according to the position change information, and the generated moving track is used as the moving track to be matched. Or, it is also possible to obtain a plurality of historical movement trajectories of the current user in the past preset time range, and select a historical movement trajectory whose appearance frequency meets the preset frequency condition (such as the highest frequency of occurrence) as the current trajectory to be matched by the current user. ,and many more. Thereafter, the server may select other users having similar movement trajectories with the user A in the preset database according to the movement trajectory to be matched, such as user B, user C, and user D, etc., to obtain candidate user sets, and then determine respectively. The candidate user sets the time at which each candidate user is located at the track location, determines the candidate user whose time meets the preset time condition as the user to be recommended, and determines the social information to be recommended according to the user to be recommended, and sends the information to the terminal A. For example, if the time when the user B is located at the track location can meet the preset time condition, and neither the user C nor the user D is satisfied, then the information of the user B can be determined as the social information to be recommended, and recommended to the user. A, and the information for the user C and the user D is not recommended (although the movement trajectories of the user C and the user D are similar to the movement trajectory of the user A).
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。The details are described below separately. It should be noted that the serial numbers of the following embodiments are not intended to limit the preferred order of the embodiments.
本实施例将从社交信息推荐装置的角度进行描述,该社交信息推荐装置具体可以集成在服务器,比如业务服务器等设备中。This embodiment will be described from the perspective of a social information recommendation device, which may be integrated into a server, such as a service server or the like.
一种社交信息推荐方法,包括:获取当前用户待匹配的移动轨迹,该移动轨迹包括至少两个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;按照预设策略从该候选用户集中确定待推荐用户,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。A social information recommendation method includes: acquiring a movement trajectory to be matched by a current user, the movement trajectory includes at least two trajectory locations; and screening other users having similar movement trajectories with the current user in a preset database according to the movement trajectory to be matched The candidate user set is obtained; the user to be recommended is determined from the candidate user according to the preset policy, the social information to be recommended is determined according to the user to be recommended, and the recommendation is made to the current user.
如图1b所示,该社交信息推荐方法的具体流程可以如下:As shown in FIG. 1b, the specific process of the social information recommendation method may be as follows:
101、获取当前用户待匹配的移动轨迹,该移动轨迹包括至少两个轨迹地点。101. Acquire a moving track to be matched by the current user, where the moving track includes at least two track locations.
在本申请一实施例中,当前用户待匹配的移动轨迹可以包括:获取的当前用户 的终端的移动轨迹。In an embodiment of the present application, the current trajectory to be matched by the current user may include: the acquired trajectory of the current user's terminal.
其中,该待匹配的移动轨迹可以是实时生成的,可以是指定的,也可以是从历史数据中筛选得到,即具体可以采用如下任意一种方式来获取该当前用户待匹配的移动轨迹:The trajectory to be matched may be generated in real time, and may be specified or may be selected from the historical data, that is, the mobile trajectory to be matched by the current user may be obtained by using any one of the following methods:
(1)实时生成;(1) real-time generation;
A、获取当前用户的位置变化信息。A. Obtain the location change information of the current user.
例如,具体可以接收终端或其他设备发送的当前用户的位置变化信息。For example, the location change information of the current user sent by the terminal or other device may be specifically received.
其中,该终端或其他设备可以通过全球定位系统(GPS,Global Positioning System)、基站定位、或其他定位移动检测技术来获取当前用户的位置变化信息。比如,可以通过GPS或基站定位等定位技术获取当前用户在一定时间期限内的地理位置信息,并记录该地理位置信息,然后,根据记录的地理位置信息生成当前用户的位置变化信息。The terminal or other device may acquire the current location change information of the current user by using a Global Positioning System (GPS), base station positioning, or other positioning motion detection technology. For example, the location information of the current user within a certain time period may be obtained by using a positioning technology such as GPS or base station positioning, and the geographical location information is recorded, and then the location change information of the current user is generated according to the recorded geographical location information.
其中,该地理位置信息可以采用经纬度等方式来进行记录,具体格式为(经度,纬度),比如,(113.34638,23.11741),(113.34758,23.11971),等等。The geographical location information may be recorded by means of latitude and longitude, and the specific format is (longitude, latitude), for example, (113.34638, 23.11741), (113.34758, 23.11971), and the like.
B、根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。B. Generate a movement trajectory of the current user according to the position change information, and use the generated movement trajectory as a movement trajectory to be matched by the current user.
例如,具体可以根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该当前用户的移动轨迹,然后,将该生成的移动轨迹作为当前用户待匹配的移动轨迹,等等。For example, according to the sampling point position of each geographical location information in the position change information, and the sampling time, the sampling point position is sequentially drawn according to the sampling time sequence to form the current user's moving track, and then The generated moving track is taken as the moving track to be matched by the current user, and the like.
在本申请一实施例中,当前用户待匹配的移动轨迹可以是以用户的起始点的位置坐标为起点,以用户的结束点的位置坐标为终点,以途径点的位置坐标为途经点绘制的线路图。若未获取途径点的位置坐标,该移动轨迹则为以用户的起始点的位置坐标为起点,以用户的结束点的位置坐标为终点绘制的线路图。若该用户的起始点和结束点重合,且没有获取途经点,则该移动轨迹为一个点。该起始点、结束点和途经点均为轨迹地点。In an embodiment of the present application, the current trajectory to be matched by the current user may be based on the position coordinate of the starting point of the user, with the position coordinate of the ending point of the user as the end point, and the position coordinate of the approach point as the starting point. circuit diagram. If the position coordinates of the route point are not obtained, the movement track is a circuit diagram drawn with the position coordinates of the user's starting point as the starting point and the position coordinates of the user's ending point as the end point. If the user's starting point and ending point coincide, and the waypoint is not acquired, the moving track is a point. The starting point, the ending point, and the waypoint are all track locations.
其中,可以将采样点位置作为轨迹地点,比如,若某地理位置变化信息中包括两个采样点位置,分别为(113.34638,23.11741)和(113.34758,23.11971),则此时,得到的移动轨迹上也可以包括两个轨迹地点,分别为(113.34638,23.11741) 和(113.34758,23.11971),以此类推,等等。Wherein, the sampling point position can be used as the track location. For example, if a geographical position change information includes two sampling point positions, respectively (113.34638, 23.11741) and (113.34758, 23.11971), then the obtained moving track is obtained. It can also include two track locations, (113.34638, 23.11741) and (113.34758, 23.11971), and so on.
为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并保存至预设数据库中,即步骤“根据该位置变化信息生成当前用户的移动轨迹”之后,该社交信息推荐方法还可以包括:In order to facilitate subsequent viewing and use, a geographical location label may also be added to each track location on the moving track, and saved to a preset database, that is, after the step “generate the current user's moving track according to the position change information”, the social information Recommended methods can also include:
为当前用户移动轨迹上的轨迹地点添加地理位置标签,将添加了地理位置标签后的移动轨迹保存至预设数据库中。Add a location tag to the track location on the current user's movement track, and save the movement track after the location tag is added to the default database.
其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,比如(113.34638,23.11741)对应XX市XX地铁站,(133.34638,24.11741)对应XX市XX大厦,等等。The geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name, etc., such as (113.34638, 23.11741) Corresponding to XX City XX subway station, (133.34638, 24.11741) corresponding to XX City XX Building, and so on.
(2)指定的移动轨迹;(2) the specified movement trajectory;
接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。A selection instruction is received, and the corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction.
例如,可以接收用户触发的选择指令,然后,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹;比如,若用户可以指定某一时间所生成的移动轨迹,作为待匹配的移动轨迹,或者,也可以指定某一条或多条移动轨迹,作为待匹配的移动轨迹,等等。For example, a user-triggered selection instruction may be received, and then a corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction; for example, if the user can specify a movement trajectory generated at a certain time as the movement trajectory to be matched, Alternatively, one or more moving tracks may be specified as the moving track to be matched, and the like.
(3)从历史数据中获取;(3) Obtained from historical data;
获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。Obtaining a plurality of historical movement trajectories of the current user in the past preset time range, and selecting a historical movement trajectory whose appearance frequency meets the preset frequency condition from the obtained plurality of historical movement trajectories, as the movement trajectory of the current user to be matched.
其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:The preset frequency condition may be set according to the requirements of the actual application. For example, the specific one may be as follows:
从获取到的多条历史移动轨迹中选取出现频率最高的历史移动轨迹,作为当前用户待匹配的移动轨迹。The historical moving track with the highest frequency of occurrence is selected from the obtained plurality of historical moving tracks as the moving track to be matched by the current user.
或者,从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为当前用户待匹配的移动轨迹。Or, the historical moving track whose appearance frequency exceeds the preset frequency threshold is selected from the obtained plurality of historical moving tracks as the moving track to be matched by the current user.
或者,从获取到的多条历史移动轨迹中选取出现频率最高的前K个历史移动轨迹,作为当前用户待匹配的移动轨迹,其中,K为正整数,具体取值可以实际应用的需求而定,比如,设置K为2、3或5,等等。Or, the first K historical moving trajectories with the highest frequency of occurrence are selected from the obtained plurality of historical moving trajectories as the moving trajectory to be matched by the current user, where K is a positive integer, and the specific value may be determined according to the actual application requirement. For example, set K to 2, 3, or 5, and so on.
其中,该预设时间范围也可以根据实际应用的需求进行设置,比如,以该预设时间范围具体为1个月,且选择出现频率最高的一条历史移动轨迹为例,若用户A在过去一个月内,一共对应有5条移动轨迹,其中,历史移动轨迹1出现了两次,而其他历史移动轨迹均出现1次,则此时,可以将历史移动轨迹1作为当前用户待匹配的移动轨迹,等等。The preset time range may also be set according to the requirements of the actual application. For example, the preset time range is specifically 1 month, and a historical moving track with the highest frequency of occurrence is selected as an example, if user A is in the past In the month, there are a total of five moving trajectories. Among them, the historical moving trajectory 1 appears twice, and the other historical moving trajectories appear once. At this time, the historical moving trajectory 1 can be used as the moving trajectory of the current user to be matched. ,and many more.
102、根据该待匹配的移动轨迹在预设数据库中筛选与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集。在本申请一实施例中,与当前用户具有匹配的移动轨迹的其他用户可以包括:与当前用户具有相似的移动轨迹的其他用户,例如相似度大于设定阈值的移动轨迹。例如,具体可以如下:102. Filter, according to the moving track to be matched, another user that has a matching moving track with the current user in the preset database, to obtain a candidate user set. In an embodiment of the present application, other users having a matching movement trajectory with the current user may include other users having similar movement trajectories with the current user, such as a movement trajectory whose similarity is greater than a set threshold. For example, the details can be as follows:
(1)获取预设数据库中所有用户的移动轨迹。(1) Obtain the movement trajectory of all users in the preset database.
其中,每一移动轨迹包括至少一轨迹地点。Wherein each movement track includes at least one track location.
(2)根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。(2) clustering the movement trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database.
例如,具体可以获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户的移动轨迹上的轨迹地点的地理位置标签,根据获取到的地理位置标签对移动轨迹进行聚类运算。For example, the geographic location label of the track location on the moving track to be matched may be acquired, and the geographical location label of the track location on the moving track of other users in the preset database is obtained, and the moving track is performed according to the obtained geographical location label. Clustering operations.
通过该聚类运算,便可以筛选出于包括有“该待匹配的移动轨迹上轨迹地点的地理位置标签”的移动轨迹,比如,以该待匹配的移动轨迹上轨迹地点的地理位置标签为“A大厦”和“XX地铁站”为例,则此时,可以筛选出包括有“A大厦”和“XX地铁站”的移动轨迹,以此类推,等等。Through the clustering operation, the moving trajectory for including the geographical location label of the trajectory location on the moving trajectory to be matched may be filtered, for example, the geographical location label of the trajectory location on the moving trajectory to be matched is “ For example, "A Building" and "XX Subway Station", at this time, it is possible to screen out moving tracks including "A Building" and "XX Subway Station", and so on.
其中,聚类指的是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。本发明实施例所采用的聚类运算的具体算法可根据实际应用的需求进行设置,在此不再赘述。Among them, clustering refers to the process of dividing a collection of physical or abstract objects into multiple classes consisting of similar objects. A cluster generated by clustering is a collection of data objects that are similar to objects in the same cluster and different from objects in other clusters. The specific algorithm of the clustering operation used in the embodiment of the present invention may be set according to the requirements of the actual application, and details are not described herein again.
(3)根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集;例如,具体可以如下:(3) Filtering out other users having similar moving trajectories with the current user according to the operation result, and obtaining a candidate user set; for example, the specifics may be as follows:
根据运算结果分别确定预设数据库中各个用户的移动轨迹与该待匹配的移动轨迹的相似度,将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。The similarity between the movement trajectory of each user in the preset database and the movement trajectory to be matched is determined according to the operation result, and the user whose similarity is higher than the preset threshold is added as a candidate user to the candidate user set.
其中,该预设阈值可根据实际应用的需求进行设置,在此不再赘述。The preset threshold may be set according to the requirements of the actual application, and details are not described herein again.
为了提高筛选结果的有效性,在根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。In order to improve the effectiveness of the screening result, before the clustering operation on the moving track according to the track location on the moving track to be matched and the track position on the moving track of the user acquired in the preset database, The rule is to perform preliminary processing on the movement trajectory of the user acquired in the preset database, and then the movement trajectory is clustered according to the trajectory location on the trajectory to be matched and the trajectory location on the trajectory after the preliminary processing. Operation.
其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;即步骤“按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理”具体可以如下:The preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; that is, the step "preliminarily processing the movement trajectory of the user acquired in the preset database according to the preset rule" may be as follows:
从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹;或者,Selecting, from the movement trajectory of the user acquired in the preset database, a movement trajectory whose trajectory generation time is within a preset period, as a movement trajectory after preliminary processing; or
从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前M条移动轨迹,作为初步处理后的移动轨迹,其中,M为正整数,M具体可以根据实际应用的需求进行设置。From the movement trajectory of the user acquired in the preset database, the top M movement trajectories with the highest frequency of occurrence of each user are selected as the movement trajectory after the initial processing, wherein M is a positive integer, and M can be actually applied according to the actual application. Requirements are set.
103、按照预设策略从所述候选用户集中确定待推荐用户。103. Determine, according to a preset policy, a user to be recommended from the candidate user.
其中,该预设策略可以根据实际应用的需求进行设置,例如,可以如下:The preset policy can be set according to the requirements of the actual application. For example, the following can be:
(1)分别确定候选用户集中每一个候选用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间。(1) Determine the time when each candidate user in the candidate user set is located at the track location (ie, the track location on the moving track to be matched).
例如,以当前用户A的移动轨迹上的轨迹地点包括XX地铁站和某某大厦,候选用户集中包括候选用户B和候选用户C,则此时,可以确定以下信息:For example, the track location on the moving track of the current user A includes the XX subway station and the certain building, and the candidate user set includes the candidate user B and the candidate user C. At this time, the following information can be determined:
确定候选用户B位于XX地铁站的时间;确定候选用户B位于某某大厦的时间;确定候选用户C位于XX地铁站的时间;确定候选用户C位于某某大厦的时间,以此类推,等等。Determining the time when the candidate user B is located at the XX subway station; determining the time when the candidate user B is located in a certain building; determining the time when the candidate user C is located at the XX subway station; determining the time when the candidate user C is located in a certain building, and so on, etc. .
需说明的是,该时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,比如,若该时间为“2014年12月13日10时40分21秒”,则年字段为“2014”,月字段为“12”,日字段为“13”,时字段为“10”,分字段为“40”,秒字段为“21”,以此类推,等等。It should be noted that the time may include a year field, a month field, a day field, a time field, a minute field, and a second field. For example, if the time is “10:40:21 on December 13, 2014, then the year” The field is "2014", the month field is "12", the day field is "13", the time field is "10", the subfield is "40", the second field is "21", and so on.
(2)将该时间满足预设时间条件的候选用户的信息确定为待推荐用户。(2) The information of the candidate user whose time meets the preset time condition is determined as the user to be recommended.
其中,该预设时间条件具体可以根据实际应用的需求进行设置,在此不再赘述。The preset time condition may be specifically set according to the requirements of the actual application, and details are not described herein again.
例如,具体可以获取当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,根据当前用户位于该轨迹地点时的时间,以及各候选用户位于该轨迹地点时的时间,分别计算各个候选用户与当前用户位于同一轨迹地点的时间差,将时间差小于预设时间阈值的候选用户确定为待推荐用户。For example, the time when the current user is located at the track location (ie, the track location on the moving track to be matched) may be acquired, according to the time when the current user is located at the track location, and the time when each candidate user is located at the track location. The time difference between each candidate user and the current user is calculated as a time difference, and the candidate user whose time difference is less than the preset time threshold is determined as the user to be recommended.
其中,当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间同样可以包括年字段、月字段、日字段、时字段、分字段和秒字段,而本发明实施例所说“时间差”,指的是时间中指定字段之差。,所述指定字段包括:所述年字段、月字段、日字段、时字段、分字段和秒字段中的至少一个。该指定字段可以根据实际应用的需求进行设置。比如,以指定字段为“时字段、分字段和秒字段”为例,若当前用户位于该轨迹地点时的时间为“2014年12月13日10时40分21秒”,而某候选用户位于该轨迹地点时的时间为“2014年11月14日10时45分21秒”,则计算时间差时可以忽略年字段、月字段和日字段,即只计算“10时40分21秒”与“10时45分21秒”之差。The time when the current user is located at the track location (ie, the track location on the moving track to be matched) may also include the year field, the month field, the day field, the time field, the minute field, and the second field, and the embodiment of the present invention Saying "time difference" refers to the difference between the fields specified in the time. The specified field includes at least one of the year field, the month field, the day field, the time field, the minute field, and the second field. The specified field can be set according to the needs of the actual application. For example, if the specified field is “time field, sub-field, and second field”, if the current user is located at the track location, the time is “10:40:21 on December 13, 2014”, and a candidate user is located. The time of the track location is “10:45:21 on November 14, 2014”, the year field, month field and day field can be ignored when calculating the time difference, that is, only “10:40:21” and “ 10:45:21" difference.
104、根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。104. Determine the social information to be recommended according to the user to be recommended, and make a recommendation to the current user.
在本申请一实施例中,向当前用户进行推荐可以包括:将该社交信息发送给该当前用户的终端设备。In an embodiment of the present application, the recommending to the current user may include: sending the social information to the terminal device of the current user.
例如,可以直接将待推荐用户的信息作为待推荐社交信息;或者,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息。For example, the information of the user to be recommended may be directly used as the social information to be recommended; or the information of the user to be recommended may be used as the social information to be recommended.
其中,筛选的策略可以根据实际应用的需求而定,例如,可以从中选择“在轨迹地点出现次数”最多的待推荐用户的信息,作为待推荐社交信息,等等,即,在步骤“根据待推荐用户确定待推荐社交信息”之前,该社交信息的推荐方法还可以包括:The screening policy may be determined according to the requirements of the actual application. For example, the information of the user to be recommended that has the most “number of occurrences at the track location” may be selected as the social information to be recommended, etc., that is, in the step “according to Before recommending the user to determine the social information to be recommended, the recommended method of the social information may further include:
分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数。The number of times each candidate user in the candidate user set appears in the track location within a preset time period is determined separately.
其中,该预设期限可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。The preset deadline may be set according to the requirements of the actual application, for example, may be set to one month, or one week, and the like.
例如,以当前用户A的移动轨迹上的轨迹地点包括XX地铁站和某某大厦,候选用户集中包括候选用户B和候选用户C,且该预设期限为一个月为例,则此时,可以确定以下信息:For example, the trajectory location on the trajectory of the current user A includes the XX subway station and the XX building, and the candidate user set includes the candidate user B and the candidate user C, and the preset period is one month as an example. Determine the following information:
确定候选用户B一个月内(即以当前时间为起点,在过去的一个月内)出现在该XX地铁站的次数;确定候选用户B一个月内出现在某某大厦的次数;确定候选用户C一个月内出现在该XX地铁站的次数;确定候选用户C一个月内出现在某某大厦的次数,以此类推,等等。Determining the number of times that candidate user B appears in the XX subway station within one month (ie, starting from the current time and in the past month); determining the number of times that candidate user B appears in a certain building within one month; determining candidate user C The number of times that the XX subway station appeared in a month; the number of times a candidate user C appeared in a certain building within one month, and so on, and so on.
则此时,步骤“根据待推荐用户确定待推荐社交信息”可以包括:从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。例如,具体可以如下:Then, the step of determining the social information to be recommended according to the user to be recommended may include: selecting, from the users to be recommended, the information of the user whose number of times meets the preset number of times as the social information to be recommended. For example, the details can be as follows:
从待推荐用户中选择该次数大于预设次数阈值的待推荐用户的信息,作为待推荐社交信息;或,Selecting, from the users to be recommended, the information of the user to be recommended that is greater than the preset number of times as the social information to be recommended; or
基于该次数对候选用户进行排序,根据排序结果将次数最多的N个待推荐用户的信息确定为待推荐社交信息,其中,N为正整数。The candidate users are sorted based on the number of times, and the information of the N recommended users is determined as the social information to be recommended according to the ranking result, where N is a positive integer.
其中,该预设条件、预设时间阈值、预设次数阈值、以及N的取值均可以根据实际应用的需求进行设置,在此不再赘述。The preset condition, the preset time threshold, the preset number of thresholds, and the value of the N may be set according to actual application requirements, and details are not described herein again.
为了可以更加精准的推荐,还可以将“方向”也作为考量因素之一,即在得到待推荐社交信息之后,可以优先推荐移动轨迹的方向(即用户在移动轨迹上的移动方向)与当前用户一致的待推荐用户所对应的待推荐社交信息。In order to make more accurate recommendations, "direction" can also be taken as one of the consideration factors, that is, after obtaining the social information to be recommended, the direction of the moving track (ie, the moving direction of the user on the moving track) can be preferentially recommended with the current user. The social information to be recommended corresponding to the user to be recommended is consistent.
由上可知,本实施例可以获取当前用户待匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,推荐给当前用户。由于该方案在推荐时,相比于现有技术中仅根据用户当前位置确定待推荐社交信息的方案,本申请将包含多个轨迹地点的整条移动轨迹作为考量因素,因此可以确保匹配到用户的移动轨迹和该用户的移动轨迹具有更大的相似度,进而确保更准确地匹配到目标用户的社交信息,避免因匹配的用户的社交信息的不准确而导致的重复匹配,以及减少重复匹配导致的系统资源和时间的浪费。As can be seen from the above, in this embodiment, the mobile trajectory to be matched by the current user may be acquired, where the trajectory includes multiple trajectory locations, and then candidate users having similar trajectories with the current user are selected in the preset database, and the candidate is selected from The candidate users who meet the preset time conditions at the time of the track are regarded as the users to be recommended, and the social information to be recommended is determined according to the user to be recommended, and is recommended to the current user. Since the scheme is recommended, compared with the prior art that the social information to be recommended is determined only according to the current location of the user, the application will include the entire moving track of multiple track locations as a consideration factor, thereby ensuring matching to the user. The movement trajectory has greater similarity with the movement trajectory of the user, thereby ensuring more accurate matching of the social information of the target user, avoiding repeated matching due to inaccuracy of the social information of the matched user, and reducing duplicate matching. The resulting system resources and time is wasted.
根据上述实施例所描述的方法,以下将举例作进一步详细说明。According to the method described in the above embodiments, the following will be exemplified in further detail.
在本实施例中,将以该社交信息推荐装置具体集成在服务器中,当前用户为用户A,用户A所在的终端为终端A,且待匹配的移动轨迹为实时生成的移动轨迹为例进行说明。In this embodiment, the social information recommendation device is specifically integrated in the server, the current user is the user A, the terminal where the user A is the terminal A, and the moving track to be matched is a real-time generated mobile track as an example. .
如图2a所示,一种社交信息推荐方法,具体流程可以如下:As shown in FIG. 2a, a social information recommendation method may be as follows:
201、终端A获取用户A的位置变化信息。201. The terminal A acquires location change information of the user A.
例如,终端A可以通过GPS、基站定位、或其他定位移动检测技术获取用户A在一定时间期限内的地理位置信息,并记录该地理位置信息,然后,根据记录的地理位置信息生成用户A的位置变化信息,等等。For example, the terminal A may acquire the geographical location information of the user A within a certain time period by using GPS, base station positioning, or other positioning motion detection technology, and record the geographical location information, and then generate the location of the user A according to the recorded geographical location information. Change information, and more.
其中,该地理位置信息可以采用经纬度等方式来进行记录,具体格式为(经度,纬度),比如,(113.34638,23.11741),(113.34758,23.11971),等等。The geographical location information may be recorded by means of latitude and longitude, and the specific format is (longitude, latitude), for example, (113.34638, 23.11741), (113.34758, 23.11971), and the like.
202、终端A将用户A的位置变化信息发送给服务器。202. The terminal A sends the location change information of the user A to the server.
例如,终端A可以通过互联网或无线网络等方式将用户A的位置变化信息发送给服务器。For example, the terminal A can transmit the location change information of the user A to the server via the Internet or a wireless network.
其中,该位置变化信息可以以独立的信息发送给服务器,也可以携带在其他信息中发送给服务器,在此不再赘述。The location change information may be sent to the server as an independent information, or may be carried in other information and sent to the server, and details are not described herein.
203、服务器在接收到该位置变化信息后,根据该位置变化信息生成用户A的移动轨迹,将生成的移动轨迹作为待匹配的移动轨迹。203. After receiving the location change information, the server generates a movement trajectory of the user A according to the position change information, and uses the generated movement trajectory as a movement trajectory to be matched.
例如,具体可以根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该用户A的移动轨迹,等等。For example, according to the sampling point position of each geographical location information in the position change information, and the sampling time and the like, the sampling point positions are sequentially drawn according to the order of the sampling time to constitute the movement track of the user A, etc. Wait.
其中,该移动轨迹包括至少两个轨迹地点,譬如,可以将采样点位置作为轨迹地点,等等。比如,若某地理位置变化信息中包括两个采样点位置,分别为(113.34638,23.11741)和(113.34758,23.11971),则此时,得到的移动轨迹上也可以包括两个轨迹地点,分别为(113.34638,23.11741)和(113.34758,23.11971),以此类推,等等。Wherein, the moving track includes at least two track locations, for example, the sampling point position can be used as a track location, and the like. For example, if a geographical location change information includes two sampling point positions, namely (113.34638, 23.11741) and (113.34758, 23.11971), then the obtained moving track may also include two track locations, respectively ( 113.34638, 23.11741) and (113.34758, 23.11971), and so on, and so on.
为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并将添加了地理位置标签后的移动轨迹保存至预设数据库中。In order to facilitate subsequent viewing and use, it is also possible to add a geographical location label to each track location on the moving track, and save the moving track after adding the geographical location label to the preset database.
其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,比如(113.34638,23.11741)对应XX市XX地铁站,(133.34638,24.11741)对应XX市XX大厦,等等。The geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name, etc., such as (113.34638, 23.11741) Corresponding to XX City XX subway station, (133.34638, 24.11741) corresponding to XX City XX Building, and so on.
204、服务器获取预设数据库中其他用户的移动轨迹。204. The server acquires a movement track of other users in the preset database.
其中,每一移动轨迹包括至少两个轨迹地点。Wherein each moving track includes at least two track locations.
需说明的是,这些用户的移动轨迹的生成方法与用户A的移动轨迹的生成方法相同,详见步骤203,在此不再赘述。It should be noted that the method for generating the trajectory of the user is the same as the method for generating the trajectory of the user A. For details, refer to step 203, and details are not described herein again.
205、服务器根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中其他用户移动轨迹上的轨迹地点对移动轨迹进行聚类运算。205. The server performs a clustering operation on the moving track according to the track location on the moving track to be matched, and the track location on the moving track of other users in the preset database.
例如,服务器可以获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户移动轨迹上的轨迹地点的地理位置标签,然后,根据获取到的地理位置标签对移动轨迹进行聚类运算。For example, the server may obtain a geographical location label of the track location on the moving track to be matched, and obtain a geographical location label of the track location on the movement track of other users in the preset database, and then move the track according to the obtained geographical location label. Perform clustering operations.
其中,聚类运算的具体算法可根据实际应用的需求进行设置,比如,可以采用划分法、层次法、密度算法、图论聚类法、网格算法、或者模型算法,等等,在此不再赘述。Wherein, the specific algorithm of the clustering operation can be set according to the requirements of the actual application, for example, a division method, a hierarchy method, a density algorithm, a graph theory clustering method, a grid algorithm, or a model algorithm, etc., etc., Let me repeat.
为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。In order to improve the effectiveness of the screening result, before the clustering operation, the movement trajectory of the user acquired in the preset database may be preliminarily processed according to a preset rule, and then according to the trajectory on the moving trajectory to be matched. The location and the trajectory location on the trajectory after the initial processing cluster the movement trajectory.
其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;例如,具体可以如下:The preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; for example, the specifics can be as follows:
服务器从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹;比如,可以选择生成时间在“2014年12月1日至2014年12月30日”之间的移动轨迹,作为初步处理后的移动轨迹,或者,也可以选择某一天,如“2014年12月1日”的移动轨迹,等等。The server selects a movement trajectory whose trajectory generation time is within a preset period from the movement trajectory of the user acquired in the preset database as the movement trajectory after the preliminary processing; for example, the generation time can be selected as “December 1, 2014 The movement trajectory between December 30, 2014, as the movement trajectory after the initial processing, or one day, such as the movement trajectory of "December 1, 2014", and the like.
或者,服务器也可以从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前M条移动轨迹,作为初步处理后的移动轨迹,其中,M为正整数,M具体可以根据实际应用的需求进行设置;比如,以M为2为例,若甲具有5条移动轨迹,其中,出现频率最高的前2条移动轨迹为移动轨迹1和移动轨迹2,则此时,可以将移动轨迹1和移动轨迹2筛选出来,作为甲对应的初步处理后的移动轨迹,以此类推,等等。Alternatively, the server may also select the first M moving trajectories with the highest frequency of occurrence of each user from the movement trajectory of the user acquired in the preset database, as the moving trajectory after preliminary processing, where M is a positive integer, M specific It can be set according to the requirements of the actual application; for example, taking M as 2 as an example, if A has 5 moving tracks, wherein the first two moving tracks with the highest frequency of occurrence are moving track 1 and moving track 2, then, The moving track 1 and the moving track 2 can be filtered out, as a preliminary processed moving track corresponding to A, and so on, and so on.
206、服务器根据运算结果筛选出与用户A具有相似移动轨迹的其他用户,得 到候选用户集;例如,具体可以如下:206. The server selects other users that have similar movement trajectories with the user A according to the operation result, and obtains the candidate user set; for example, the specifics may be as follows:
服务器根据运算结果分别确定预设数据库中各个用户的移动轨迹与该待匹配的移动轨迹的相似度,将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。The server determines, according to the operation result, the similarity between the movement trajectory of each user in the preset database and the movement trajectory to be matched, and adds the user whose similarity is higher than the preset threshold as a candidate user to the candidate user set.
其中,该预设阈值可根据实际应用的需求进行设置,例如,以该预设阈值具体为95%为例,若用户B移动轨迹与该待匹配的移动轨迹的相似度为96%,用户C移动轨迹与该待匹配的移动轨迹的相似度为95%,用户D移动轨迹与该待匹配的移动轨迹的相似度为98%,用户E移动轨迹与该待匹配的移动轨迹的相似度为85%,用户F移动轨迹与该待匹配的移动轨迹的相似度为60%,则此时,可以将用户B、用户C和用户D作为候选用户,添加至用户A对应的候选用户集中。The preset threshold may be set according to the requirements of the actual application. For example, the preset threshold is specifically 95%. If the user B moves the trajectory to the matching trajectory, the similarity is 96%, and the user C The similarity between the movement trajectory and the movement trajectory to be matched is 95%, the similarity between the movement path of the user D and the movement trajectory to be matched is 98%, and the similarity between the movement path of the user E and the movement trajectory to be matched is 85. %, the similarity between the user F movement trajectory and the movement trajectory to be matched is 60%. At this time, user B, user C, and user D can be added as candidate users to the candidate user set corresponding to user A.
207、服务器分别确定候选用户集中每一个候选用户位于该轨迹地点(即该待匹配的移动轨迹上的轨迹地点)时的时间。207. The server determines, respectively, a time when each candidate user in the candidate user set is located at the track location (ie, the track location on the moving track to be matched).
其中,本发明所说的时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,在本实施例中,为了计算方便,将均以忽略“秒字段”为例进行说明。The time of the present invention may include a year field, a month field, a day field, a time field, a subfield, and a second field. In this embodiment, for the convenience of calculation, the "second field" is omitted as an example. .
还可以分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数。It is also possible to separately determine the number of times each candidate user in the candidate user set appears at the track location within a preset time period.
其中,该预设期限可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。The preset deadline may be set according to the requirements of the actual application, for example, may be set to one month, or one week, and the like.
例如,以当前用户A的移动轨迹上的轨迹地点包括XX地铁站和某某大厦,候选用户集中包括候选用户B、候选用户C和候选用户D,且该预设期限为一个月(即以当前时间为起点,在过去的一个月内)为例,则此时,可以确定以下信息:For example, the track location on the moving track of the current user A includes the XX subway station and the certain building, and the candidate user set includes the candidate user B, the candidate user C, and the candidate user D, and the preset period is one month (ie, current Time is the starting point, in the past month), for example, at this point, you can determine the following information:
确定候选用户B位于XX地铁站的时间,比如为“2014年12月13日8:03”、以及确定一个月内出现在该XX地铁站的次数,比如为10次;Determine the time when candidate user B is located at XX subway station, for example, "8:03 on December 13, 2014", and determine the number of times that the XX subway station appears in the month, for example, 10 times;
确定候选用户B位于某某大厦的时间,比如为“2014年12月13日8:20”、以及确定一个月内出现在某某大厦的次数,比如为10次;Determine the time when the candidate user B is located in a certain building, for example, "8:20 on December 13, 2014", and determine the number of times that a certain building appears in a certain building, for example, 10 times;
确定候选用户C位于XX地铁站的时间,比如为“2014年12月12日23:00”、以及确定一个月内出现在该XX地铁站的次数,比如为1次;Determining the time when the candidate user C is located at the XX subway station, for example, "23:00 on December 12, 2014", and determining the number of times the XX subway station appears in the month, for example, 1 time;
确定候选用户C位于某某大厦的时间,比如为“2014年12月12日23:30”、以及确定一个月内出现在某某大厦的次数,比如为1次;Determine the time when the candidate user C is located in a certain building, for example, "23:30 on December 12, 2014", and determine the number of times that a certain building appears in a certain building, for example, 1 time;
确定候选用户D位于XX地铁站的时间,比如为“2014年12月13日7:55”、以及确定一个月内出现在该XX地铁站的次数,比如为2次;Determining the time when the candidate user D is located at the XX subway station, for example, "7:55 on December 13, 2014", and determining the number of times the XX subway station appears in the same month, for example, 2 times;
确定候选用户D位于某某大厦的时间,比如为“2014年12月13日8:25”、以及确定一个月内出现在某某大厦的次数,比如为2次;Determine the time when the candidate user D is located in a certain building, for example, "8:25 on December 13, 2014", and determine the number of times that a certain building appears in a certain building, for example, 2 times;
以此类推,等等。And so on, and so on.
208、服务器将该时间满足预设时间条件的候选用户确定为待推荐用户。208. The server determines, by the server, the candidate user that meets the preset time condition as the user to be recommended.
例如,服务器可以获取用户A位于该轨迹地点时的时间,根据用户A位于该轨迹地点时的时间,以及各候选用户位于该轨迹地点时的时间,分别计算各个候选用户与用户A位于同一轨迹地点的时间差,将时间差小于预设时间阈值的候选用户确定为待推荐用户。For example, the server may obtain the time when the user A is located at the trajectory location, and calculate, according to the time when the user A is located at the trajectory location, and the time when each candidate user is located at the trajectory location, respectively, each candidate user is located at the same trajectory location as the user A. The time difference is determined by the candidate user whose time difference is less than the preset time threshold as the user to be recommended.
其中,该“时间差”,指的是时间中指定字段之差,该指定字段可以根据实际应用的需求进行设置,为了描述方便,在本实施例中,将均以该指定字段为“时字段和分字段”为例进行说明,即在计算时间差时,可以忽略年字段、月字段、日字段和秒字段,比如,若用户A位于XX地铁站的时间为“2014年12月14日8:00”,而用户B位于XX地铁站的时间为“2014年12月13日8:03”,则此时,可以确定用户A位于XX地铁站的时间为“8:00”,而用户B位于XX地铁站的时间为“8:03”,然后,计算“8:00”与“8:03”之间的时间差。需说明的是,为了描述方便,以下在描述各个用户位于轨迹地点的时间时,将均以忽略年字段、月字段、日字段和秒字段为例进行说明(即只表示时字段和分字段)。The "time difference" refers to the difference between the specified fields in the time. The specified field can be set according to the requirements of the actual application. For the convenience of description, in this embodiment, the specified field will be the "time field and The sub-field is described as an example. When calculating the time difference, the year field, the month field, the day field, and the second field can be ignored. For example, if the user A is located at the XX subway station, the time is "December 14, 2014, 8:00. ", while User B's time at XX subway station is "8:03 on December 13, 2014", at this time, it can be determined that User A's time at XX subway station is "8:00", and User B is at XX. The time at the subway station is "8:03", and then the time difference between "8:00" and "8:03" is calculated. It should be noted that, for convenience of description, when describing the time when each user is located at the track location, the following is an example of ignoring the year field, the month field, the day field, and the second field (ie, only representing the time field and the minute field). .
还需说明的是,在确定为待推荐用户时,具体可以在轨迹上所有轨迹地点所对应的“时间差”均小于预设时间阈值时,才将该候选用户确定为待推荐用户,或者,也可以设定只要某一轨迹地点对应的“时间差”小于预设时间阈值,即可将相应候选用户确定为待推荐用户,等等,为了描述方便,在本实施例中,将以后者为例进行说明。It should be noted that, when it is determined that the user is to be recommended, the candidate user may be determined as the user to be recommended when the “time difference” corresponding to all the track locations on the track is less than the preset time threshold, or It can be set that as long as the “time difference” corresponding to a certain track location is less than the preset time threshold, the corresponding candidate user can be determined as the user to be recommended, and so on. For the convenience of description, in the embodiment, the latter is taken as an example. Description.
其中,可以将用户A位于该轨迹地点的时间与候选用户位于该轨迹地点的时间的差的绝对值,作为该用户A与该候选用户在该轨迹地点的时间差。The absolute value of the difference between the time when the user A is located at the trajectory location and the time when the candidate user is located at the trajectory location may be the time difference between the user A and the candidate user at the trajectory location.
比如,如图2b所示,以候选用户包括候选用户B、候选用户C和候选用户D,且预设时间差阈值为12分钟为例,若用户A位于XX地铁站的时间为“8:00”,位于某某大厦的时间为“8:30”;候选用户B位于XX地铁站的时间为“8:03”,位于 某某大厦的时间为“8:20”;候选用户C位于XX地铁站的时间为“23:00”,位于某某大厦的时间为“23:30”;候选用户D位于XX地铁站的时间为“7:55”,位于某某大厦的时间为“8:25”,则此时,可以分别计算用户A与各个候选用户位于XX地铁站和某某大厦的时间差,如表一所示:For example, as shown in FIG. 2b, the candidate user includes the candidate user B, the candidate user C, and the candidate user D, and the preset time difference threshold is 12 minutes. If the user A is located at the XX subway station, the time is 8:00. The time at the certain building is “8:30”; the time for candidate user B at XX subway station is “8:03”, the time for a certain building is “8:20”; candidate user C is located at XX subway station. The time is "23:00", the time in a certain building is "23:30"; the time of candidate user D is XX subway station is "7:55", and the time in a certain building is "8:25" At this time, the time difference between user A and each candidate user at XX subway station and certain building can be calculated separately, as shown in Table 1:
表一:Table I:
Figure PCTCN2018083449-appb-000001
Figure PCTCN2018083449-appb-000001
可见,用户A与候选用户B、以及用户A与候选用户C在XX地铁站的时间差、以及在某某大厦的时间差均小于预设时间阈值,因此,可以将候选用户B和候选用户C作为待推荐用户。It can be seen that the time difference between the user A and the candidate user B, and the user A and the candidate user C in the XX subway station, and the time difference in the certain building are both smaller than the preset time threshold. Therefore, the candidate user B and the candidate user C can be treated as Recommended users.
209、服务器根据待推荐用户确定待推荐社交信息。209. The server determines the social information to be recommended according to the user to be recommended.
例如,服务器可以直接将待推荐用户的信息作为待推荐社交信息,比如,若在步骤208中,将用户B和用户C均作为待推荐用户,则此时,可以分别获取待推荐用户B的信息、以及待推荐用户C的信息,将获取到的信息作为待推荐社交信息。For example, the server may directly use the information of the user to be recommended as the social information to be recommended. For example, if both user B and user C are used as the user to be recommended in step 208, the information of the user B to be recommended may be separately obtained. And the information of the user C to be recommended, and the obtained information is used as the social information to be recommended.
其中,待推荐用户的信息(如待推荐用户B的信息、以及待推荐用户C的信息等)可以包括待推荐用户的用户标识、性别、年龄、和/或兴趣爱好等用户信息,还可以包括待推荐用户与当前用户(如用户A)的移动轨迹相似度、去过的相同轨迹地点、到访该相同轨迹地点的次数、和/或到访该相同轨迹地点的时间,等等。其中,用户标识可以包括用户名字和/或帐号等。The information of the user to be recommended (such as the information of the user B to be recommended, and the information of the user C to be recommended, etc.) may include user information such as user identification, gender, age, and/or hobbies of the user to be recommended, and may also include The similarity of the movement trajectory of the recommended user to the current user (such as user A), the same trajectory location that has been visited, the number of times the same trajectory location is visited, and/or the time of visiting the same trajectory location, and the like. The user identifier may include a user name and/or an account number and the like.
除了可以直接将待推荐用户的信息作为待推荐社交信息之外,服务器也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,比如,若在步骤207中,服务器执行了步骤“分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数”的话,则此时,可以从待推荐用户中选 择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。The server may also use the information of the user to be recommended as the social information to be recommended, and the server may also filter the information of the user to be recommended as the social information to be recommended, for example, in step 207. The server performs the step of “determining the number of times each candidate user in the candidate user set appears in the track location within a preset period of time”, and then selecting the number of times the predetermined number of times can be selected from the users to be recommended. User information as social information to be recommended.
其中,该预设次数条件可以根据实际应用的需求进行设置,例如,具体可以如下:The preset number of times can be set according to the requirements of the actual application. For example, the specific information may be as follows:
将该次数大于预设次数阈值的候选用户的信息确定为待推荐社交信息,以向当前用户进行推荐。The information of the candidate user whose number is greater than the preset number threshold is determined as the social information to be recommended to make a recommendation to the current user.
比如,以待推荐用户包括候选用户B和待推荐用户D,且预设次数阈值为5次为例,若待推荐用户B一个月内出现在该XX地铁站的次数为10次,出现在某某大厦的次数为10次;待推荐用户D一个月内出现在该XX地铁站的次数为3次,出现在某某大厦的次数为3次,由于待推荐用户B对应的次数大于预设次数阈值“5次”,因此,可以将待推荐用户B的信息确定为待推荐社交信息,推荐给用户A,而待推荐用户D则不予与推荐。For example, the candidate user B includes the candidate user B and the user D to be recommended, and the preset number of times is 5 times. If the user B to be recommended appears in the XX subway station within 10 months, the number of occurrences is 10 The number of times a building is 10 times; the number of times the user D is expected to appear in the XX subway station within one month is 3 times, and the number of occurrences in a certain building is 3 times, because the number of times the user B to be recommended corresponds to a preset number of times The threshold is "5 times". Therefore, the information of the user B to be recommended can be determined as the social information to be recommended, and the user A is recommended, and the user D to be recommended is not recommended.
除此之外,也可以基于该次数对待推荐用户进行排序,根据排序结果将次数最多的N个待推荐用户的信息确定为待推荐社交信息,以向当前用户进行推荐,其中,N为正整数。In addition, the recommended users may be sorted based on the number of times, and the information of the N most recommended users is determined as the social information to be recommended according to the ranking result, so as to recommend to the current user, where N is a positive integer. .
比如,以待推荐用户包括待推荐用户B、待推荐用户C和候选用户D,且N为2为例,若待推荐用户B一个月内出现在该XX地铁站的次数为10次,出现在某某大厦的次数为10次;待推荐用户C一个月内出现在该XX地铁站的次数为1次,出现在某某大厦的次数为1次;待推荐用户D一个月内出现在该XX地铁站的次数为3次,出现在某某大厦的次数为3次;则此时,可以基于轨迹地点对这些次数进行排序,比如从大到小进行排序:“XX地铁站:待推荐用户B>待推荐用户D>待推荐用户C”,“某某大厦:待推荐用户B>待推荐用户D>待推荐用户C”,因此,可以将次数较多的待推荐用户B和待推荐用户D的信息确定为待推荐社交信息,推荐给用户A,以此类推,等等。For example, the user to be recommended includes the user B to be recommended, the user C to be recommended, and the candidate user D, and N is 2, and if the user B to be recommended appears in the XX subway station within 10 months, the number of occurrences is 10 The number of times a certain building is 10 times; the number of users to be recommended C appears in the XX subway station within one month, and the number of occurrences in a certain building is 1; the recommended user D appears in the XX within one month. The number of subway stations is 3, and the number of occurrences in a certain building is 3; at this time, these times can be sorted based on the location of the track, such as from large to small: "XX subway station: user B to be recommended >Recommended user D>Recommended user C”, “A certain building: to be recommended user B>To be recommended user D>To be recommended user C”, therefore, the number of users to be recommended B and the user to be recommended D can be more frequently The information is determined to be recommended social information, recommended to user A, and so on.
210、服务器将待推荐社交信息发送给终端A,以向用户A进行推荐。210. The server sends the social information to be recommended to the terminal A to perform recommendation to the user A.
终端A在接收到该待推荐社交信息后,可以在预设的界面上显示该待推荐社交信息,比如,以该待推荐社交信息为用户B的信息为例,则此时,可以显示用户B的用户标识、性别、年龄、兴趣爱好、用户B与用户A的移动轨迹相似度、去过的相同轨迹地点、到访该相同轨迹地点的次数、和/或到访该相同轨迹地点的时间,等等。After receiving the social information to be recommended, the terminal A may display the social information to be recommended on the preset interface. For example, the information about the social information to be recommended is the user B. For example, the user B may be displayed. User identification, gender, age, hobbies, similarity of the movement trajectory of user B and user A, the same trajectory location that has been visited, the number of visits to the same trajectory location, and/or the time of visiting the same trajectory location, and many more.
还可以显示其他的信息,比如,显示该待匹配的移动轨迹,以及显示该待匹配的移动轨迹上各个轨迹地点的地理位置标签,等等。Other information may also be displayed, such as displaying the moving track to be matched, and displaying the geographic location label of each track location on the moving track to be matched, and the like.
由上可知,本实施例在获取到当前用户的位置变化信息后,可以根据该位置变化信息生成当前用户的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间和次数符合预设条件的候选用户的信息作为待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了可以将当前位置作为考量因素之外,还可以将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间、以及次数等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。It can be seen that, after acquiring the location change information of the current user, the current trajectory of the current user may be generated according to the location change information, where the trajectory includes multiple trajectory locations, and then, the preset database is selected. a candidate user having a similar moving trajectory with the current user, selecting information of the candidate users that meet the preset conditions at the time and number of times of the trajectory locations as the social information to be recommended, and recommending to the current user; since the scheme is recommended, In addition to the current position as a consideration, it is also possible to compare the movement trajectory and other historical behavior data of these users, such as the time and number of occurrences at these locations, etc., therefore, relative to the present In the case of a single match, a more efficient match can be made, which greatly improves the accuracy of the recommendation and improves the recommendation.
与上述实施例相同的是,本实施例同样以该社交信息推荐装置具体集成在服务器中,当前用户为用户A,且用户A所在的终端为终端A为例进行说明,与前一实施例不同的是,本实施例所采用的待匹配移动轨迹是从用户A的历史数据中筛选得到的,即,在前一实施例的流程中,可以将步骤201至203替换为如下步骤:The same as the previous embodiment, the embodiment is similar to the previous embodiment, in which the social information recommendation device is specifically integrated in the server, the current user is the user A, and the terminal where the user A is the terminal A is taken as an example, which is different from the previous embodiment. The trajectory to be matched used in this embodiment is selected from the historical data of the user A. That is, in the flow of the previous embodiment, the steps 201 to 203 may be replaced with the following steps:
服务器获取用户A在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为用户A待匹配的移动轨迹。The server obtains a plurality of historical movement trajectories of the user A in the past preset time range, and selects a historical movement trajectory whose appearance frequency meets the preset frequency condition from the obtained plurality of historical movement trajectories, as the movement trajectory of the user A to be matched.
其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:The preset frequency condition may be set according to the requirements of the actual application. For example, the specific one may be as follows:
服务器从获取到的多条历史移动轨迹中选取出现频率最高的历史移动轨迹,作为用户A待匹配的移动轨迹。The server selects the historical moving track with the highest frequency of occurrence from the obtained plurality of historical moving tracks as the moving track to be matched by the user A.
或者,服务器从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为用户A待匹配的移动轨迹。Alternatively, the server selects, from the obtained plurality of historical movement trajectories, a historical movement trajectory whose appearance frequency exceeds a preset frequency threshold, as a movement trajectory to which the user A is to be matched.
或者,服务器从获取到的多条历史移动轨迹中选取出现频率最高的前K个历史移动轨迹,作为用户A待匹配的移动轨迹。Alternatively, the server selects the top K historical moving trajectories with the highest frequency of occurrence from the obtained plurality of historical moving trajectories as the moving trajectory to be matched by the user A.
其中,K为正整数,具体取值可以实际应用的需求而定,比如,设置K为2、3或5,等等。Where K is a positive integer, and the specific value may be determined by the actual application requirements, for example, setting K to 2, 3, or 5, and the like.
其中,该预设时间范围也可以根据实际应用的需求进行设置,比如,以该预设时间范围具体为1个月,且选择出现频率最高的一条历史移动轨迹为例,若用户A 在过去一个月内,一共对应有5条移动轨迹,其中,某条移动轨迹如“XX地铁站—>XX大厦——>XX公园”出现了两次,而其他历史移动轨迹均只出现过1次,那么,此时可以确定移动轨迹“XX地铁站—>XX大厦——>XX公园”在过去一个月内的出现频率最高,所以,可以将移动轨迹“XX地铁站—>XX大厦——>XX公园”作为用户A待匹配的移动轨迹。The preset time range may also be set according to the requirements of the actual application. For example, the preset time range is specifically 1 month, and a historical moving track with the highest frequency of occurrence is selected as an example, if user A is in the past In the month, there are a total of five moving trajectories. Among them, a certain moving trajectory such as "XX subway station -> XX building -> XX park" appears twice, while other historical movement trajectories have only appeared once, then At this time, it can be determined that the movement track "XX subway station -> XX building -> XX park" has the highest frequency of occurrence in the past month, so you can move the trajectory "XX subway station -> XX building -> XX park "As the movement track of user A to be matched.
由于该待匹配的移动轨迹是用户A在过去一个月内出现频率最高的移动轨迹,因此,表明用户A出现在该移动轨迹上的各个地点的可能性最大,所以,如果此时推荐在一定时间差范围内,同样在这移动轨迹附近活动的用户,特别是经常在这附近活动的用户的话,该推荐的用户与用户A建立起社交关系的可能性就会大大增加。Since the moving track to be matched is the moving track with the highest frequency of the user A in the past month, it is indicated that the user A is most likely to appear at each place on the moving track, so if a certain time difference is recommended at this time Within the scope of users who are also active near this moving track, especially those who are frequently active in the vicinity, the likelihood that the recommended user will establish a social relationship with User A is greatly increased.
又例如,以该预设时间范围具体为1周,且选择出现频率最高的前2条历史移动轨迹为例,若用户A在过去一周内,一共对应有8条移动轨迹,其中,某条移动轨迹如“XX地铁站—>XX大厦——>XX公园”出现了三次,某条移动轨迹如“XX地铁站—>XX广场——>L大厦”出现了两次,而其他历史移动轨迹均只出现过1次,那么,此时可以确定移动轨迹“XX地铁站—>XX大厦——>XX公园”和“XX地铁站—>XX广场——>L大厦”在过去一周内出现频率排名前2(按出现频率从高至低进行排序),所以,可以将移动轨迹“XX地铁站—>XX大厦——>XX公园”和“XX地铁站—>XX广场——>L大厦”作为用户A待匹配的移动轨迹,后续可以分别对移动轨迹“XX地铁站—>XX大厦——>XX公园”和“XX地铁站—>XX广场——>L大厦”进行匹配和推荐(即执行步骤204~210)。For example, taking the preset time range as one week and selecting the first two historical moving trajectories with the highest frequency of occurrence as an example, if user A has a total of eight moving trajectories in the past week, one of the movements The trajectory such as "XX subway station -> XX Building -> XX Park" appeared three times, and a certain movement track such as "XX subway station -> XX Square -> L Building" appeared twice, while other historical movement trajectories Only once, then, at this time, you can determine the mobile track "XX subway station -> XX Building -> XX Park" and "XX subway station -> XX Square -> L Building" in the past week The first 2 (sorted according to the frequency of occurrence from high to low), so you can move the trajectory "XX subway station -> XX Building -> XX Park" and "XX subway station -> XX Square -> L Building" The movement track of user A to be matched, and subsequent matching and recommendation (ie execution) of the moving track "XX subway station -> XX building -> XX park" and "XX subway station -> XX square -> L building" Steps 204-210).
为了提高灵活性,除了可以从用户A的历史移动轨迹中筛选出现频率符合预设频率条件的历史移动轨迹,作为用户A的待匹配的移动轨迹之外,还可以指定具体的移动轨迹,来作为用户A的待匹配的移动轨迹;例如,服务器可以接收用户触发的选择指令,然后,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。In order to improve flexibility, in addition to the historical movement trajectory of the user A's historical movement trajectory that meets the preset frequency condition, as the moving trajectory of the user A to be matched, a specific movement trajectory may be specified as User A's moving track to be matched; for example, the server may receive a user-triggered selection instruction, and then select a corresponding moving track as the moving track to be matched according to the selection instruction.
比如,如果用户A希望将移动轨迹“XX地铁站—>XX大厦——>XX公园”作为待匹配的移动轨迹,则此时,用户A触发选择指令,通过终端将该选择指令发送给服务器,然后,由服务器根据该选择指令获取该“XX地铁站—>XX大厦——>XX公园”的移动轨迹,以作为用户A的待匹配的移动轨迹。For example, if user A wishes to use the movement track "XX subway station -> XX building -> XX park" as the moving track to be matched, then at this time, user A triggers a selection instruction, and the terminal sends the selection instruction to the server through the terminal. Then, the server acquires the movement track of the "XX subway station -> XX building -> XX park" according to the selection instruction, as the moving track of the user A to be matched.
又比如,如果用户A希望将“2014年12月12日”至“2014年12月14日”期间的移动轨迹作为待匹配的移动轨迹,那么此时,用户A便可以触发选择指令, 通过终端将该选择指令发送给服务器,然后,由服务器根据该选择指令中所指示的期间获取相应的移动轨迹(即2014年12月12日至2014年12月14日之间的移动轨迹),以作为用户A的待匹配的移动轨迹。For another example, if user A wishes to use the movement trajectory during the period from December 12, 2014 to December 14, 2014 as the movement trajectory to be matched, then at this time, user A can trigger the selection instruction through the terminal. Sending the selection instruction to the server, and then obtaining, by the server, the corresponding movement trajectory according to the period indicated in the selection instruction (ie, the movement trajectory between December 12, 2014 and December 14, 2014) User A's movement track to be matched.
可见,本实施例除了可以实现前一实施例所能实现的有益效果之外,还可以进一步提高推荐的精准性、推荐效果、以及灵活性。It can be seen that, in addition to the beneficial effects that can be achieved by the previous embodiment, the embodiment can further improve the accuracy, recommendation effect, and flexibility of the recommendation.
为了更好地实施以上方法,本发明实施例还提供一种社交信息推荐装置,该社交信息推荐装置具体可以集成在服务器,比如业务服务器等设备中。In order to better implement the above method, the embodiment of the present invention further provides a social information recommendation device, which may be integrated into a server, such as a service server or the like.
例如,如图3a所示,该社交信息推荐装置包括获取单元301、筛选单元302、确定单元303、以及推荐单元304,如下:For example, as shown in FIG. 3a, the social information recommendation apparatus includes an acquisition unit 301, a screening unit 302, a determination unit 303, and a recommendation unit 304, as follows:
(1)获取单元301;(1) acquisition unit 301;
获取单元301,用于当前用户待匹配的移动轨迹,该移动轨迹包括至少两个轨迹地点。The obtaining unit 301 is configured to use a moving track to be matched by the current user, where the moving track includes at least two track locations.
其中,该待匹配的移动轨迹可以是实时生成的,即:The moving track to be matched may be generated in real time, namely:
该获取单元301,具体可以用于获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹。The acquiring unit 301 is specifically configured to acquire location change information of the current user, and generate a current trajectory of the current user according to the location change information.
例如,该获取单元301,具体可以用于根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该当前用户的移动轨迹,然后,将该生成的移动轨迹作为当前用户待匹配的移动轨迹,其中,可以将采样点位置作为轨迹地点。For example, the acquiring unit 301 may be specifically configured to sequentially draw the sampling point position according to the sampling point position and the sampling time according to the information of each geographical location information in the position change information, to form the The current user's movement trajectory is then used as the movement trajectory to be matched by the current user, wherein the sampling point position can be used as the trajectory location.
或者,该待匹配的移动轨迹也可以由用户进行指定,即:Alternatively, the movement track to be matched can also be specified by the user, namely:
该获取单元301,具体可以用于接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。The obtaining unit 301 is specifically configured to receive a selection instruction, and select a corresponding movement trajectory as the movement trajectory to be matched according to the selection instruction.
或者,该待匹配的移动轨迹也可以是从历史数据中筛选得到,即:Alternatively, the moving track to be matched may also be filtered from historical data, namely:
该获取单元301,具体可以用于获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户的移动轨迹。The acquiring unit 301 may be configured to acquire a plurality of historical movement trajectories of the current user in a preset time range, and select a historical movement trajectory whose appearance frequency meets the preset frequency condition from the acquired plurality of historical movement trajectories. The current user's movement trajectory.
其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:The preset frequency condition may be set according to the requirements of the actual application. For example, the specific one may be as follows:
该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率 最高的历史移动轨迹,作为当前用户待匹配的移动轨迹。The acquiring unit 301 is specifically configured to select, from the acquired plurality of historical moving trajectories, a historical moving trajectory with the highest frequency of occurrence as the moving trajectory to be matched by the current user.
或者,该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为当前用户待匹配的移动轨迹。Alternatively, the obtaining unit 301 may be specifically configured to select, from the acquired plurality of historical movement trajectories, a historical movement trajectory whose appearance frequency exceeds a preset frequency threshold as a movement trajectory to be matched by the current user.
或者,该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率最高的前K个历史移动轨迹,作为当前用户待匹配的移动轨迹,其中,K为正整数,具体取值可以实际应用的需求而定,比如,设置K为2、3或5,等等。Alternatively, the obtaining unit 301 may be specifically configured to select, from the acquired plurality of historical moving trajectories, the top K historical moving trajectories with the highest frequency of occurrence as the moving trajectory to be matched by the current user, where K is a positive integer, specifically The value can be determined by the actual application requirements, for example, setting K to 2, 3 or 5, and so on.
其中,该预设时间范围也可以根据实际应用的需求进行设置,在此不再赘述。The preset time range may also be set according to the requirements of the actual application, and details are not described herein again.
为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并保存至预设数据库中,即如图3b所示,该社交信息推荐装置还可以包括添加单元305和保存单元306,如下:In order to facilitate subsequent viewing and use, a geographical location label may also be added to each track location on the moving track, and saved to a preset database, that is, as shown in FIG. 3b, the social information recommendation apparatus may further include an adding unit 305 and saving. Unit 306 is as follows:
该添加单元305,用于为生成的移动轨迹上的轨迹地点添加地理位置标签;The adding unit 305 is configured to add a geographical location label to the track location on the generated moving track;
该保存单元306,用于将添加了地理位置标签后的移动轨迹保存至预设数据库中。The saving unit 306 is configured to save the moving track after the geographic location tag is added to the preset database.
其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,详见前面实施例,在此不再赘述。The geographical location label is mainly used to identify the trajectory location, and may be marked by the most iconic or most well-known place name, building, bus station name or subway station name on the trajectory location, as shown in the previous implementation. For example, it will not be described here.
(2)筛选单元302;(2) screening unit 302;
筛选单元302,用于根据该待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;The filtering unit 302 is configured to filter other users having similar movement trajectories with the current user in the preset database according to the movement trajectory to be matched, to obtain a candidate user set;
例如,该筛选单元302可以包括获取子单元、运算子单元和筛选子单元,如下:For example, the screening unit 302 can include an acquisition subunit, an operation subunit, and a screening subunit, as follows:
获取子单元,用于获取预设数据库中所有用户的移动轨迹。The acquisition sub-unit is used to obtain the movement track of all users in the preset database.
运算子单元,用于根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。The operation subunit is configured to cluster the movement trajectory according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database.
比如,该运算子单元,具体可以用于获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户的移动轨迹上的轨迹地点的地理位置标签;根据获取到的地理位置标签对移动轨迹进行聚类运算。For example, the operation subunit may be specifically configured to obtain a geographical location label of the track location on the moving track to be matched, and obtain a geographical location label of the track location on the moving track of other users in the preset database; The geolocation tag performs a clustering operation on the moving trajectory.
筛选子单元,用于根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。The filtering sub-unit is configured to filter other users having similar moving trajectories with the current user according to the operation result, and obtain a candidate user set.
比如,该筛选子单元,具体可以用于根据运算结果分别确定预设数据库中各个 用户的移动轨迹与该待匹配的移动轨迹的相似度;将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。For example, the screening sub-unit may be specifically configured to determine, according to the operation result, a similarity between a movement trajectory of each user in the preset database and the movement trajectory to be matched, and a user with a similarity higher than a preset threshold as a candidate user. Add to the candidate user set.
其中,该预设阈值可根据实际应用的需求进行设置,在此不再赘述。The preset threshold may be set according to the requirements of the actual application, and details are not described herein again.
为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才由运算子单元根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。即该筛选单元302还可以包括初处理子单元,如下:In order to improve the effectiveness of the screening result, before the clustering operation, the movement trajectory of the user acquired in the preset database may be preliminarily processed according to a preset rule, and then the operation subunit is based on the movement to be matched. The trajectory location on the trajectory and the trajectory location on the trajectory after the preliminary processing cluster the moving trajectory. That is, the screening unit 302 may further include an initial processing subunit, as follows:
初处理子单元,用于按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理。The initial processing sub-unit is configured to perform preliminary processing on the movement track of the user acquired in the preset database according to a preset rule.
则此时,运算子单元,具体可以用于根据所述待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。At this time, the operation subunit may be specifically configured to perform clustering operation on the movement trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the trajectory after the preliminary processing.
其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;即:The preset rule may be set according to the requirements of the actual application. For example, the moving track within a certain period may be selected according to actual needs, or the moving track with a higher frequency of the user may be selected (ie, the frequently-traveled route). , etc.; that is:
初处理子单元,具体可以用于从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹。The initial processing sub-unit may be specifically configured to select, from the movement trajectory of the user acquired in the preset database, a movement trajectory whose trajectory generation time is within a preset period, as a movement trajectory after the preliminary processing.
或者,初处理子单元,具体可以用于从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前M条移动轨迹,作为初步处理后的移动轨迹。Alternatively, the initial processing sub-unit may be specifically configured to select, from the movement trajectory of the user acquired in the preset database, the top M movement trajectories with the highest frequency of occurrence of each user as the movement trajectory after the preliminary processing.
其中,M为正整数,具体取值可以根据实际应用的需求而定。Where M is a positive integer, and the specific value may be determined according to the needs of the actual application.
(3)确定单元303;(3) determining unit 303;
确定单元303,用于按照预设策略从该候选用户集中确定待推荐用户。The determining unit 303 is configured to determine, from the candidate user set, the user to be recommended according to a preset policy.
其中,该预设策略可以根据实际应用的需求进行设置,例如,可以如下:The preset policy can be set according to the requirements of the actual application. For example, the following can be:
确定单元303,具体可以用于分别确定候选用户集中每一个候选用户位于该轨迹地点时的时间,将该时间(即确定单元303确定的时间)满足预设时间条件的候选用户确定为待推荐用户。The determining unit 303 may be specifically configured to determine time when each candidate user in the candidate user set is located in the track location, and determine, as the user to be recommended, the candidate user that meets the preset time condition at the time (ie, the time determined by the determining unit 303) .
比如,该确定单元303,具体可以用于获取当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间;根据当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,以及各候选用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,分别计算各个候选用户与当前用户位于同一 轨迹地点的时间差;将时间差小于预设时间阈值的候选用户确定为待推荐用户。For example, the determining unit 303 may be specifically configured to acquire a time when the current user is located at the track location (ie, a track location on the moving track to be matched); according to the current user located at the track location (ie, the moving track to be matched) The time when the track location is located, and the time when each candidate user is located at the track location (ie, the track location on the moving track to be matched), respectively calculates the time difference between each candidate user and the current user at the same track location; the time difference is less than the pre- The candidate user who sets the time threshold is determined as the user to be recommended.
其中,该预设时间条件具体可以根据实际应用的需求进行设置,在此不再赘述。The preset time condition may be specifically set according to the requirements of the actual application, and details are not described herein again.
需说明的是,该时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,而本发明实施例所说的“时间差”指的是时间中指定字段之差。该指定字段可以根据实际应用的需求进行设置,比如,可以将“时字段”和“分字段作为指定字段,等等,具体可参见前面的方法实施例,在此不再赘述。It should be noted that the time may include a year field, a month field, a day field, a time field, a subfield, and a second field, and the “time difference” in the embodiment of the present invention refers to the difference between the specified fields in the time. The specified field can be set according to the requirements of the actual application. For example, the "time field" and the "subfield" can be used as the specified field, and so on. For details, refer to the foregoing method embodiment, and details are not described herein again.
(4)推荐单元304;(4) recommendation unit 304;
推荐单元304,用于根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。The recommendation unit 304 is configured to determine social information to be recommended according to the user to be recommended, and make a recommendation to the current user.
例如,推荐单元304,具体可以用于将待推荐用户的信息作为待推荐社交信息。For example, the recommendation unit 304 may be specifically configured to use the information of the user to be recommended as the social information to be recommended.
或者,推荐单元304,具体可以用于对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息。Alternatively, the recommendation unit 304 may be configured to: after filtering the user to be recommended, use the information of the to-be-recommended user to be recommended as the social information to be recommended.
其中,筛选的策略可以根据实际应用的需求而定,例如,可以从中选择“在轨迹地点出现次数”最多的待推荐用户的信息,作为待推荐社交信息,等等,即:The screening policy may be determined according to the needs of the actual application. For example, the information of the user to be recommended that has the most “number of occurrences at the track location” may be selected as the social information to be recommended, etc., namely:
该确定单元303,还可以用于分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数。The determining unit 303 is further configured to determine, respectively, the number of times each candidate user in the candidate user set appears in the track location within a preset time limit.
则此时,该推荐单元304,具体可以用于从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。Then, the recommendation unit 304 is specifically configured to select information of the user whose number of times meets the preset number of times from the users to be recommended as the social information to be recommended.
比如,该推荐单元304,具体可以用于从待推荐用户中选择该次数大于预设次数阈值的用户的信息,作为待推荐社交信息;或,For example, the recommendation unit 304 may be specifically configured to select information of the user whose number of times is greater than a preset number of times from the users to be recommended as the social information to be recommended; or
该推荐单元304,具体可以用于基于该次数对待推荐用户进行排序,根据排序结果将次数最多的N个待推荐用户的信息确定为待推荐社交信息,其中,N为正整数。The recommendation unit 304 is specifically configured to perform the ranking of the recommended users based on the number of times, and determine the information of the N recommended users according to the ranking result as the social information to be recommended, where N is a positive integer.
其中,该预设期限、预设次数阈值、以及N的取值可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。The preset period, the preset number threshold, and the value of N may be set according to actual application requirements, for example, may be set to one month, or one week, and the like.
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。In the specific implementation, the foregoing units may be implemented as a separate entity, or may be implemented in any combination, and may be implemented as the same or a plurality of entities. For the specific implementation of the foregoing, refer to the foregoing method embodiments, and details are not described herein.
由上可知,本实施例的社交信息推荐装置的获取单元301可以获取当前用户待 匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,由筛选单元302在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,以及由确定单元303从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,由推荐单元304推荐给当前用户;由于该方案在推荐时,除了可以当前位置作为考量因素之外,还可以将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。It can be seen that the acquiring unit 301 of the social information recommendation apparatus of the present embodiment can acquire the movement trajectory to be matched by the current user, wherein the movement trajectory includes a plurality of trajectory locations, and then the screening unit 302 filters and presets in the preset database. a candidate user whose current user has a similar movement trajectory, and a candidate user selected by the determining unit 303 from the time of the trajectory location to meet the preset time condition as the user to be recommended, and determining the social information to be recommended according to the user to be recommended, Recommended by the recommendation unit 304 to the current user; since the scheme is recommended, in addition to the current location as a consideration factor, the movement trajectory can be similar, as well as other historical behavior data of the users, such as the appearance time at these locations, etc. It is also considered as one of the factors to be considered. Therefore, it is possible to perform more effective matching than the existing one that only performs a single matching, greatly improving the accuracy of the recommendation, and improving the recommendation effect.
相应的,本发明实施例还提供一种社交信息推荐系统,可以包括本发明实施例所提供的任一种社交信息推荐装置,其中,该社交信息推荐装置具体可以集成在服务器。例如,可以如下:Correspondingly, the embodiment of the present invention further provides a social information recommendation system, which may include any social information recommendation device provided by the embodiment of the present invention, where the social information recommendation device may be specifically integrated in a server. For example, it can be as follows:
服务器,用于获取当前用户待匹配的移动轨迹,该移动轨迹包括至少两个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;按照预设策略从候选用户集中确定待推荐用户,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。a server, configured to acquire a moving track to be matched by the current user, where the moving track includes at least two track locations; and other users having similar moving tracks with the current user are filtered in the preset database according to the moving track to be matched, and the candidate user set is obtained. Determining the user to be recommended from the candidate users according to the preset policy, determining the social information to be recommended according to the user to be recommended, and making recommendations to the current user.
其中,该预设策略可以根据实际应用的需求进行设置,比如,可以如下:The preset policy can be set according to the requirements of the actual application, for example, as follows:
该服务器,具体可以用于分别确定候选用户集中每一个候选用户位于该轨迹地点时的时间;将该时间满足预设时间条件的候选用户确定为待推荐用户。The server may be specifically configured to determine time when each candidate user in the candidate user set is located at the track location, and determine the candidate user that meets the preset time condition as the user to be recommended.
其中,筛选与当前用户具有相似移动轨迹的其他用户的方式也可以有多种,例如,可以如下:Among them, there are many ways to filter other users who have similar movement trajectories with the current user, for example, as follows:
该服务器,具体可以获取预设数据库中所有用户的移动轨迹,根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。The server may specifically acquire a movement trajectory of all users in the preset database, and cluster the movement trajectory according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database. The operation extracts other users having similar movement trajectories from the current user according to the operation result, and obtains a candidate user set.
为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,具体可参见前面的实施例,在此不再赘述。In order to improve the effectiveness of the screening result, the trajectory of the user's trajectory acquired in the preset database may be pre-processed according to the preset rule before the clustering operation. For details, refer to the previous embodiment, and details are not described herein. .
其中,服务器获取当前用户待匹配的移动轨迹的方式可以有多种,比如,可以如下:The manner in which the server obtains the current trajectory to be matched by the current user may be various, for example, as follows:
该服务器,具体可以用于获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。The server may be configured to obtain the location change information of the current user, generate a current trajectory of the current user according to the location change information, and use the generated trajectory as the trajectory of the current user to be matched.
或者,该服务器,具体可以用于接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。Alternatively, the server may be specifically configured to receive a selection instruction, and select a corresponding movement trajectory as the movement trajectory to be matched according to the selection instruction.
或者,该服务器,具体可以用于获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。Alternatively, the server may be configured to obtain a plurality of historical movement trajectories of the current user within a preset time range, and select a historical movement trajectory whose appearance frequency meets the preset frequency condition from the acquired plurality of historical movement trajectories. The movement track of the current user to be matched.
在根据待推荐用户确定待推荐社交信息时,除了可以直接将待推荐用户的信息作为待推荐社交信息之外,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,比如,可以如下:When the social information to be recommended is determined according to the user to be recommended, the information of the user to be recommended may be directly used as the social information to be recommended, and the information of the user to be recommended may be selected as the information of the user to be recommended. Social information to be recommended, for example, can be as follows:
服务器,具体可以用于分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数,从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。The server may be specifically configured to determine, respectively, the number of times that each candidate user in the candidate user set appears in the track location within a preset time period, and select, from the users to be recommended, the information of the user that meets the preset number of times as the to-be-recommended Social information.
其中,该预设期限可以根据实际应用的需求进行设置,在此不再赘述。The preset period can be set according to the requirements of the actual application, and details are not described herein again.
该社交信息推荐系统还可以包括其他的设备,比如终端等,具体可以如下:The social information recommendation system may also include other devices, such as a terminal, etc., as follows:
终端,用于接收服务器发送的待推荐社交信息。The terminal is configured to receive social information to be recommended sent by the server.
该终端,还可以用于获取当前用户的位置变化信息,将该位置变化信息发送给服务器。The terminal may be further configured to obtain location change information of the current user, and send the location change information to the server.
以上各个设备的具体实施可参见前面的实施例,在此不再赘述。For the specific implementation of the foregoing devices, refer to the foregoing embodiments, and details are not described herein again.
由于该社交信息推荐系统可以包括本发明实施例所提供的任一种社交信息推荐装置,因此,可以实现本发明实施例所提供的任一种社交信息推荐装置所能实现的有益效果,详见前面的实施例,在此不再赘述。The social information recommendation system may include any of the social information recommendation devices provided by the embodiments of the present invention. Therefore, the beneficial effects of any of the social information recommendation devices provided by the embodiments of the present invention may be implemented. The foregoing embodiments are not described herein again.
本发明实施例还提供一种服务器,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:The embodiment of the present invention further provides a server, as shown in FIG. 4, which shows a schematic structural diagram of a server according to an embodiment of the present invention, specifically:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:The server may include one or more processing core processor 401, one or more computer readable storage medium memories 402, power source 403, and input unit 404. It will be understood by those skilled in the art that the server structure illustrated in FIG. 4 does not constitute a limitation to the server, and may include more or less components than those illustrated, or some components may be combined, or different component arrangements. among them:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各 个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,例如计算机可读指令,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。The processor 401 is the control center of the server, connecting various portions of the entire server using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 402, such as computer readable instructions, and calls stored in The data in the memory 402 performs various functions of the server and processes the data, thereby integrally monitoring the server. The processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, an application, etc., and performs modulation and demodulation. The processor primarily handles wireless communications. It can be understood that the above modem processor may not be integrated into the processor 401.
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。The memory 402 can be used to store software programs and modules, and the processor 401 executes various functional applications and data processing by running software programs and modules stored in the memory 402. The memory 402 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the server, etc. Moreover, memory 402 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, memory 402 can also include a memory controller to provide processor 401 access to memory 402.
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。The server also includes a power source 403 that supplies power to the various components. Preferably, the power source 403 can be logically coupled to the processor 401 via a power management system to enable management of charging, discharging, and power management functions through the power management system. The power supply 403 may also include any one or more of a DC or AC power source, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。The server can also include an input unit 404 that can be used to receive input numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function controls.
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现上述图1b和图2a所示的方法,以及图3a和图3b所示装置的操作,例如:Although not shown, the server may further include a display unit or the like, and details are not described herein again. Specifically, in this embodiment, the processor 401 in the server loads the executable file corresponding to the process of one or more applications into the memory 402 according to the following instruction, and is stored in the memory by the processor 401. The application in 402, thereby implementing the method illustrated in Figures 1b and 2a above, and the operation of the apparatus illustrated in Figures 3a and 3b, for example:
获取当前用户待匹配的移动轨迹,该移动轨迹包括至少两个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集,按照预设策略从候选用户集中确定待推荐用户,比如,可以分别确 定候选用户集中每一个候选用户位于该轨迹地点时的时间;将该时间满足预设时间条件的候选用户确定为待推荐用户,然后,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。Obtaining a moving track to be matched by the current user, the moving track includes at least two track locations; and screening other users having similar moving tracks with the current user according to the moving track to be matched, obtaining a candidate user set, according to the preset The policy determines the user to be recommended from the candidate user set. For example, the time when each candidate user in the candidate user set is located at the track location may be determined separately; the candidate user whose time meets the preset time condition is determined as the user to be recommended, and then, according to The recommended user determines the social information to be recommended and makes a recommendation to the current user.
例如,可以获取预设数据库中所有用户的移动轨迹,根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。For example, the movement trajectory of all users in the preset database may be acquired, and the movement trajectory is clustered according to the trajectory location on the movement trajectory to be matched and the trajectory location on the movement trajectory of the user acquired in the preset database, According to the operation result, other users having similar movement trajectories with the current user are selected to obtain a candidate user set.
为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,具体可参见前面的实施例,在此不再赘述。In order to improve the effectiveness of the screening result, the trajectory of the user's trajectory acquired in the preset database may be pre-processed according to the preset rule before the clustering operation. For details, refer to the previous embodiment, and details are not described herein. .
该服务器获取当前用户待匹配的移动轨迹的方式可以有多种,即处理器401还可以运行存储在存储器402中的应用程序,以实现以下功能:The manner in which the server obtains the current trajectory to be matched by the current user may be various, that is, the processor 401 may also run an application stored in the memory 402 to implement the following functions:
获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。Obtaining the position change information of the current user, generating a movement trajectory of the current user according to the position change information, and using the generated movement trajectory as a movement trajectory to be matched by the current user.
或者,接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。Alternatively, a selection instruction is received, and the corresponding movement trajectory is selected as the movement trajectory to be matched according to the selection instruction.
或者,获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。Or, acquiring a plurality of historical movement trajectories of the current user in the past preset time range, and selecting a historical movement trajectory whose appearance frequency meets the preset frequency condition from the obtained plurality of historical movement trajectories, as the current trajectory to be matched by the current user. .
在根据待推荐用户确定待推荐社交信息时,除了可以直接将待推荐用户的信息作为待推荐社交信息之外,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,即处理器401还可以运行存储在存储器402中的应用程序,以实现以下功能:When the social information to be recommended is determined according to the user to be recommended, the information of the user to be recommended may be directly used as the social information to be recommended, and the information of the user to be recommended may be selected as the information of the user to be recommended. The social information to be recommended, that is, the processor 401 can also run an application stored in the memory 402 to implement the following functions:
分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数,从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。The number of times that each candidate user in the candidate user set appears in the track location within a preset time period is determined, and the information of the user whose number of times meets the preset number of times is selected from the users to be recommended as the social information to be recommended.
其中,该预设期限可以根据实际应用的需求进行设置,在此不再赘述。The preset period can be set according to the requirements of the actual application, and details are not described herein again.
以上各项操作的具体实施可参见前面的实施例,在此不再赘述。For the specific implementation of the above operations, refer to the foregoing embodiments, and details are not described herein again.
由上可知,本实施例的服务器可以获取当前用户待匹配的移动轨迹,其中,该 移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了可以将当前位置作为考量因素之外,还将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。It can be seen that the server in this embodiment can acquire the moving track to be matched by the current user, where the moving track includes multiple track locations, and then, in the preset database, select candidate users having similar moving tracks with the current user, from which Selecting a candidate user that meets the preset time condition at the time of the track location as the user to be recommended, and determining the social information to be recommended according to the user to be recommended, recommending to the current user; since the solution is recommended, in addition to the current In addition to the location considerations, the similar trajectories of movement, as well as other historical behavioral data of these users, such as the time of appearance at these locations, are also considered as one of the considerations. Therefore, compared with the existing scheme of only performing a single match. In other words, more effective matching can be performed, which greatly improves the accuracy of the recommendation and improves the recommendation effect.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。A person skilled in the art may understand that all or part of the various steps of the foregoing embodiments may be performed by a program to instruct related hardware. The program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
以上对本发明实施例所提供的一种社交信息推荐方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。The method, device and system for recommending social information provided by the embodiments of the present invention are described in detail. The principles and implementations of the present invention are described in the specific examples. The description of the above embodiments is only for help. The method of the present invention and its core idea are understood; at the same time, those skilled in the art, according to the idea of the present invention, will have some changes in the specific embodiments and application scopes. It is understood to be a limitation of the invention.

Claims (16)

  1. 一种社交信息推荐方法,,应用于社交信息推荐装置,包括:A social information recommendation method, applied to a social information recommendation device, comprising:
    获取当前用户待匹配的移动轨迹,所述移动轨迹包括至少两个轨迹地点;Obtaining a moving track to be matched by the current user, where the moving track includes at least two track locations;
    根据所述待匹配的移动轨迹在预设数据库中筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集;Selecting other users that have a matching moving track with the current user in the preset database according to the moving track to be matched, and obtaining a candidate user set;
    按照预设策略从所述候选用户集中确定待推荐用户;Determining a user to be recommended from the candidate users according to a preset policy;
    获取所述待推荐用户的社交信息并发送给所述当前用户。Obtaining social information of the user to be recommended and sending to the current user.
  2. 根据权利要求1所述的方法,其中,所述按照预设策略从所述候选用户集中确定待推荐用户,包括:The method according to claim 1, wherein the determining the user to be recommended from the candidate users according to a preset policy comprises:
    分别确定候选用户集中每一个候选用户位于所述轨迹地点时的时间;Determining, respectively, a time when each candidate user in the candidate user set is located at the track location;
    将所述时间满足预设时间条件的候选用户确定为待推荐用户。The candidate user whose time meets the preset time condition is determined as the user to be recommended.
  3. 根据权利要求2所述的方法,其中,所述将所述时间满足预设时间条件的候选用户确定为待推荐用户,包括:The method according to claim 2, wherein the determining the candidate user whose time meets the preset time condition as the user to be recommended comprises:
    获取当前用户位于所述轨迹地点时的时间,所述时间包括年字段、月字段、日字段、时字段、分字段和秒字段;Obtaining a time when the current user is located at the track location, where the time includes a year field, a month field, a day field, a time field, a minute field, and a second field;
    根据当前用户位于所述轨迹地点时的时间,以及各候选用户位于所述轨迹地点时的时间,分别计算各个候选用户与当前用户位于同一轨迹地点的时间差,所述时间差为时间中指定字段之差,所述指定字段包括:所述年字段、月字段、日字段、时字段、分字段和秒字段中的至少一个;Calculating, according to the time when the current user is located at the trajectory location, and the time when each candidate user is located at the trajectory location, calculating a time difference between each candidate user and the current user at the same trajectory location, where the time difference is the difference between the specified fields in the time The specified field includes: at least one of the year field, the month field, the day field, the time field, the minute field, and the second field;
    将时间差小于预设时间阈值的候选用户确定为待推荐用户。The candidate user whose time difference is less than the preset time threshold is determined as the user to be recommended.
  4. 根据权利要求1所述的方法,其中,所述根据所述待匹配的移动轨迹在预设数据库中筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集,包括:The method according to claim 1, wherein the screening of other users having a matching trajectory with the current user in the preset database according to the movement trajectory to be matched, and obtaining the candidate user set, includes:
    获取预设数据库中所有用户的移动轨迹;Get the movement trajectory of all users in the preset database;
    根据所述待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算;Performing a clustering operation on the moving trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the moving trajectory of the user acquired in the preset database;
    根据运算结果筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集。According to the operation result, other users having matching movement trajectories with the current user are filtered to obtain a candidate user set.
  5. 根据权利要求4所述的方法,其中,根据所述待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,包括:The method according to claim 4, wherein the trajectory is calculated according to the trajectory location on the trajectory to be matched and the trajectory location on the trajectory of the user acquired in the preset database, including:
    获取所述待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户的移动轨迹上的轨迹地点的地理位置标签;Obtaining a geographical location label of the track location on the moving track to be matched, and acquiring a geographical location label of the track location on the moving track of other users in the preset database;
    根据获取到的地理位置标签对移动轨迹进行聚类运算。The moving trajectory is clustered according to the obtained geographical location label.
  6. 根据权利要求4所述的方法,其中,所述根据运算结果筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集,包括:The method according to claim 4, wherein the filtering of other users having a matching trajectory with the current user according to the operation result, and obtaining the candidate user set, includes:
    根据运算结果分别确定预设数据库中各个用户的移动轨迹与所述待匹配的移动轨迹的相似度;Determining, according to the operation result, a similarity between a movement trajectory of each user in the preset database and the movement trajectory to be matched;
    将相似度高于预设阈值的用户作为候选用户,添加至所述候选用户集中。A user whose similarity is higher than a preset threshold is added as a candidate user to the candidate user set.
  7. 根据权利要求4所述的方法,其中,进一步包括:The method of claim 4, further comprising:
    按照预设规则对从所述预设数据库中所获取的用户的移动轨迹进行初步处理;Performing preliminary processing on the movement trajectory of the user acquired from the preset database according to a preset rule;
    所述根据所述待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,包括:根据所述待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。Performing a clustering operation on the moving trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the moving trajectory of the user acquired in the preset database, including: according to the moving trajectory to be matched The trajectory location and the trajectory location on the trajectory after the initial processing cluster the movement trajectory.
  8. 根据权利要求7所述的方法,其中,所述按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,包括:The method according to claim 7, wherein the preliminary processing of the movement trajectory of the user acquired in the preset database according to the preset rule comprises:
    从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹;或者,Selecting, from the movement trajectory of the user acquired in the preset database, a movement trajectory whose trajectory generation time is within a preset period, as a movement trajectory after preliminary processing; or
    从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前M条移动轨迹,作为初步处理后的移动轨迹,所述M为正整数。From the movement trajectory of the user acquired in the preset database, the top M movement trajectories with the highest frequency of occurrence of each user are selected as the movement trajectory after the preliminary processing, and the M is a positive integer.
  9. 根据权利要求1至8任一项所述的方法,其中,所述获取当前用户待匹配的移动轨迹,包括:The method according to any one of claims 1 to 8, wherein the obtaining a movement trajectory to be matched by the current user comprises:
    获取当前用户的位置变化信息,根据所述位置变化信息生成当前用户的移动轨迹,将生成的移动轨迹作为待匹配的移动轨迹;或者,Obtaining a position change information of the current user, generating a movement trajectory of the current user according to the position change information, and using the generated movement trajectory as a movement trajectory to be matched; or
    接收选择指令,根据所述选择指令选择相应的移动轨迹作为待匹配的移动轨迹;或者,Receiving a selection instruction, and selecting a corresponding movement trajectory as a movement trajectory to be matched according to the selection instruction; or
    获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。Obtaining a plurality of historical movement trajectories of the current user in the past preset time range, and selecting a historical movement trajectory whose appearance frequency meets the preset frequency condition from the obtained plurality of historical movement trajectories, as the movement trajectory of the current user to be matched.
  10. 根据权利要求9所述的方法,其中,所述根据所述位置变化信息生成当前用户的移动轨迹之后,还包括:The method according to claim 9, wherein after the generating the current user's movement trajectory according to the position change information, the method further includes:
    为生成的移动轨迹上的轨迹地点添加地理位置标签;Add a location tag to the track location on the resulting mobile track;
    将添加了地理位置标签后的移动轨迹保存至预设数据库中。Save the movement track after adding the location label to the default database.
  11. 根据权利要求1至8任一项所述的方法,其中,进一步包括:The method according to any one of claims 1 to 8, further comprising:
    分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数;Determining, respectively, the number of times each candidate user in the candidate user set appears in the track location within a preset time period;
    获取待推荐用户的社交信息,包括:从待推荐用户中选择所述次数满足预设次数条件的用户的信息,作为待推荐社交信息。Acquiring the social information of the user to be recommended, including: selecting, from the users to be recommended, the information of the user whose number of times meets the preset number of times as the social information to be recommended.
  12. 根据权利要求11所述的方法,其中,所述从待推荐用户中选择所述次数满足预设次数条件的用户的信息,作为待推荐社交信息,包括:The method of claim 11, wherein the information about the user whose number of times the predetermined number of times is satisfied is selected from the users to be recommended as the social information to be recommended, including:
    从待推荐用户中选择所述次数大于预设次数阈值的用户的信息,作为待推荐社交信息;或,Selecting, from the users to be recommended, the information of the user whose number of times is greater than the preset number of times as the social information to be recommended; or
    基于所述次数对待推荐用户进行排序,根据排序结果将次数最多的N个待推荐用户的信息确定为待推荐社交信息。The recommended users are sorted based on the number of times, and the information of the N recommended users with the highest number of times is determined as the social information to be recommended according to the sorting result.
  13. 一种社交信息推荐装置,包括:处理器和存储器,所述处理器执行所述存储器中的机器可读指令,用于A social information recommendation apparatus includes: a processor and a memory, the processor executing machine readable instructions in the memory, for
    获取当前用户待匹配的移动轨迹,所述移动轨迹包括至少两个轨迹地点;Obtaining a moving track to be matched by the current user, where the moving track includes at least two track locations;
    根据所述待匹配的移动轨迹在预设数据库中筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集;Selecting other users that have a matching moving track with the current user in the preset database according to the moving track to be matched, and obtaining a candidate user set;
    按照预设策略从所述候选用户集中确定待推荐用户;Determining a user to be recommended from the candidate users according to a preset policy;
    获取待推荐用户的社交信息并发送给所述当前用户。Get social information of the user to be recommended and send it to the current user.
  14. 根据权利要求13所述的装置,其中,所述处理器进一步执行所述存储器中的机器可读指令,用于The apparatus of claim 13 wherein said processor further executes machine readable instructions in said memory for
    分别确定候选用户集中每一个候选用户位于所述轨迹地点时的时间,将所述时间满足预设时间条件的候选用户确定为待推荐用户。The time when each candidate user in the candidate user set is located at the track location is determined separately, and the candidate user whose time meets the preset time condition is determined as the user to be recommended.
  15. 根据权利要求13所述的装置,其中,所述处理器进一步执行所述存储器中的机器可读指令,用于The apparatus of claim 13 wherein said processor further executes machine readable instructions in said memory for
    获取预设数据库中所有用户的移动轨迹;Get the movement trajectory of all users in the preset database;
    根据所述待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算;Performing a clustering operation on the moving trajectory according to the trajectory location on the moving trajectory to be matched and the trajectory location on the moving trajectory of the user acquired in the preset database;
    根据运算结果筛选出与当前用户具有匹配的移动轨迹的其他用户,得到候选用户集。According to the operation result, other users having matching movement trajectories with the current user are filtered to obtain a candidate user set.
  16. 一种非易失性存储介质,存储有一个或多个程序,所述一个或多个程序包括:计算机可读指令,当所述计算机可读指令由计算设备执行时,使得所述计算设备执行权利要求1-12中任一项所述方法。A non-volatile storage medium storing one or more programs, the one or more programs comprising: computer readable instructions that, when executed by a computing device, cause the computing device to perform The method of any of claims 1-12.
PCT/CN2018/083449 2017-04-18 2018-04-18 Method and apparatus for recommending social information, and storage medium WO2018192506A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710254071.8 2017-04-18
CN201710254071.8A CN108733692A (en) 2017-04-18 2017-04-18 A kind of social information recommendation method and apparatus

Publications (1)

Publication Number Publication Date
WO2018192506A1 true WO2018192506A1 (en) 2018-10-25

Family

ID=63855611

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/083449 WO2018192506A1 (en) 2017-04-18 2018-04-18 Method and apparatus for recommending social information, and storage medium

Country Status (2)

Country Link
CN (1) CN108733692A (en)
WO (1) WO2018192506A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857927A (en) * 2018-12-24 2019-06-07 深圳市珍爱捷云信息技术有限公司 User's recommended method, device, computer equipment and computer readable storage medium
CN110287419A (en) * 2019-06-28 2019-09-27 重庆金窝窝网络科技有限公司 A kind of Method of Commodity Recommendation, device, server and storage medium
CN110598993B (en) * 2019-08-19 2023-04-18 深圳市鹏海运电子数据交换有限公司 Data processing method and device
CN111368211B (en) * 2020-02-20 2023-05-16 腾讯科技(深圳)有限公司 Relation chain determining method, device and storage medium
CN111753214A (en) * 2020-06-24 2020-10-09 平安科技(深圳)有限公司 Data pushing method and system based on behavior track and computer equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765873A (en) * 2015-04-24 2015-07-08 百度在线网络技术(北京)有限公司 Method and device for determining similarity among users
CN104933201A (en) * 2015-07-15 2015-09-23 蔡宏铭 Content recommendation method and system based on peer information
CN105007217A (en) * 2015-08-05 2015-10-28 北京易伟航科技有限公司 System and method for searching social relations via geographical indication with time property
CN105279207A (en) * 2014-07-25 2016-01-27 腾讯科技(深圳)有限公司 User recommendation method, apparatus and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488678B (en) * 2013-08-05 2017-02-08 北京航空航天大学 Friend recommendation system based on user sign-in similarity
CN106506574B (en) * 2015-09-07 2020-08-28 腾讯科技(深圳)有限公司 Method and system for realizing candidate user pushing
CN105471715B (en) * 2015-12-14 2017-06-06 西安交通大学 A kind of mobile social networking friend recommendation method based on geographical position change
CN106021305A (en) * 2016-05-05 2016-10-12 北京邮电大学 Mode and preference sensing POI recommendation method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279207A (en) * 2014-07-25 2016-01-27 腾讯科技(深圳)有限公司 User recommendation method, apparatus and system
CN104765873A (en) * 2015-04-24 2015-07-08 百度在线网络技术(北京)有限公司 Method and device for determining similarity among users
CN104933201A (en) * 2015-07-15 2015-09-23 蔡宏铭 Content recommendation method and system based on peer information
CN105007217A (en) * 2015-08-05 2015-10-28 北京易伟航科技有限公司 System and method for searching social relations via geographical indication with time property

Also Published As

Publication number Publication date
CN108733692A (en) 2018-11-02

Similar Documents

Publication Publication Date Title
WO2018192506A1 (en) Method and apparatus for recommending social information, and storage medium
US11017660B2 (en) Information processing apparatus, information processing method and program
US10715949B2 (en) Determining timing for determination of applicable geo-fences
CN106303955B (en) For carrying out matched method and apparatus to hotspot and POI
WO2017166648A1 (en) Navigation route generating method and device, and apparatus
US9877162B2 (en) Systems and methods for generating a user location history
CN104537000B (en) A kind of method and apparatus for pushed information
TW201508680A (en) Realtime activity suggestion from social and event data
US20160255164A1 (en) Information processing apparatus, information processing method and program
WO2020258905A1 (en) Information pushing method and device
TW201604698A (en) Method and device for pushing track information
WO2015018233A1 (en) Method for determining position of terminal device, and terminal device
WO2017016122A1 (en) Information pushing method and apparatus
CN104750716A (en) Social network site friend recommendation method and social network site friend recommendation device
WO2019000461A1 (en) Positioning method and apparatus, storage medium, and server
US20160063555A1 (en) Advertisement platform device and operating method thereof
CN106375561B (en) Mobile terminal and its remaining detection method for using the time
JP2017033569A (en) System and method of collecting user's feeling and activity on the basis of instant message
WO2017024684A1 (en) User behavioral intent acquisition method, device and equipment, and computer storage medium
CN105376714B (en) A kind of localization method and device
RU2658876C1 (en) Wireless device sensor data processing method and server for the object vector creating connected with the physical position
US10129699B1 (en) Automated tiered event display system
JP2019053434A (en) Estimation device and estimation method and estimation program
CN108595650B (en) Method, system, equipment and storage medium for constructing virtual badminton court
CN110110014B (en) Method for determining position information of target object, server and user client

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18787827

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18787827

Country of ref document: EP

Kind code of ref document: A1