Book friends recommendation method, server and system

By calculating the similarity between users' attributes, reading ability and reading preferences, book friends are recommended, and the problem of low book utilization is solved, improving the accuracy and reading level of recommendations.

CN114021013BInactive Publication Date: 2024-12-24HISENSE GRP HLDG CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111302026.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-04
Publication Date
2024-12-24
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The utilization rate of books has declined, and a method is urgently needed to promote communication and borrowing among book friends and improve reading level.

Method used

By determining the similarity of attributes, similarity of reading ability and similarity of reading preferences among users, we recommend book friends to improve the accuracy of recommendations.

Benefits of technology

It improves the accuracy of book friends' recommendations, promotes the improvement of reading level and the utilization rate of books.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114021013B_ABST
    Figure CN114021013B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a method, server and system for recommending book friends, which belongs to the field of smart home. The method includes: determining the attribute similarity between a first user and each second user among multiple second users to obtain multiple attribute similarities, determining the reading ability similarity between the first user and each second user to obtain multiple reading ability similarities, determining the reading preference similarity between the first user and each second user to obtain multiple reading preference similarities, based on the multiple attribute similarities, the multiple reading ability similarities and the multiple reading preference similarities, determining the user similarity between the first user and each second user to obtain multiple user similarities, and based on the multiple user similarities, recommending book friends to the user terminal corresponding to the first user. The embodiment of the present application recommends book friends by the user similarity between the first user and the multiple second users, thereby improving the accuracy of the book friend recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of smart home, and in particular to a book friend recommendation method, server and system. Background Art

[0002] With the improvement of living standards, reading has become a new trend. At present, the types of books are becoming more and more abundant, and the utilization rate of books is also decreasing. Therefore, a book recommendation method is urgently needed to promote reading level and improve the utilization rate of books through mutual communication and borrowing among book friends. Summary of the invention

[0003] The embodiment of the present application provides a book friend recommendation method, server and system. The technical solution is as follows:

[0004] On the one hand, a book friend recommendation method is provided, the method comprising:

[0005] Determine an attribute similarity between the first user and each of the plurality of second users to obtain a plurality of attribute similarities, wherein the attribute similarities are used to indicate a degree of similarity of attribute information of two users;

[0006] Determine the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, wherein the reading ability similarities are used to indicate the similarity between the number of books read by two users within a fixed time period;

[0007] Determine the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, wherein the reading preference similarities are used to indicate the similarity between the book reading preferences of the two users;

[0008] Determining a user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities;

[0009] Based on the multiple user similarities, book friends are recommended to a user terminal corresponding to the first user.

[0010] On the other hand, a book friend recommendation device is provided, the device comprising:

[0011] an attribute similarity determination module, used to determine the attribute similarity between the first user and each of the plurality of second users, so as to obtain a plurality of attribute similarities, wherein the attribute similarities are used to indicate the degree of similarity between the attribute information of the two users;

[0012] a reading ability similarity determination module, used to determine the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, wherein the reading ability similarities are used to indicate the similarity between the number of books read by two users within a fixed time period;

[0013] a reading preference similarity determination module, used to determine the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, wherein the reading preference similarities are used to indicate the similarity between the book reading preferences of the two users;

[0014] a user similarity determination module, configured to determine the user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities, so as to obtain multiple user similarities;

[0015] The recommendation module is used to recommend book friends to the user terminal corresponding to the first user based on the similarities of the multiple users.

[0016] In another aspect, a server is provided, the server comprising a processor, the processor being configured to:

[0017] Determine an attribute similarity between the first user and each of the plurality of second users to obtain a plurality of attribute similarities, wherein the attribute similarities are used to indicate a degree of similarity of attribute information of two users;

[0018] Determine the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, wherein the reading ability similarities are used to indicate the similarity between the number of books read by two users within a fixed time period;

[0019] Determine the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, wherein the reading preference similarities are used to indicate the similarity between the book reading preferences of the two users;

[0020] Determining a user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities;

[0021] Based on the multiple user similarities, book friends are recommended to a user terminal corresponding to the first user.

[0022] On the other hand, a book friend recommendation system is provided, the system comprising a user terminal and a server;

[0023] The server is used to execute the steps of the above-mentioned book friend recommendation method.

[0024] On the other hand, a computer-readable storage medium is provided, wherein a computer program is stored in the storage medium, and when the computer program is executed by a processor, the steps of the above-mentioned book recommendation method are implemented.

[0025] On the other hand, a computer program product comprising instructions is provided. When the instructions are executed on a computer, the computer executes the steps of the above-mentioned book recommendation method.

[0026] The technical solution provided by the embodiments of the present application can at least bring the following beneficial effects:

[0027] Since attribute similarity is used to indicate the similarity of attribute information of two users, reading ability similarity is used to indicate the similarity of the number of books read by two users within a fixed period of time, and reading preference similarity is used to indicate the similarity of book reading preferences of two users, these data can represent the similarity of two users in multiple dimensions. Therefore, the accuracy of user similarity determined by attribute similarity, reading ability similarity and reading preference similarity is relatively high, and book recommendations are made based on user similarity, thereby improving the accuracy of book recommendations. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0029] Figure 1 It is a schematic diagram of a system architecture provided by an embodiment of the present application;

[0030] Figure 2 It is a flow chart of a book friend recommendation method provided by an embodiment of the present application;

[0031] Figure 3 is a schematic diagram of determining a first user's book reading preference provided by an embodiment of the present application;

[0032] Figure 4 is a schematic diagram of determining user similarity between a first user and each second user provided by an embodiment of the present application;

[0033] Figure 5 It is a schematic diagram of a book friend recommendation method provided in an embodiment of the present application;

[0034] Figure 6 It is a structural schematic diagram of a book friend recommendation device provided in an embodiment of the present application;

[0035] Figure 7 is a schematic diagram of the structure of a terminal provided in an embodiment of the present application;

[0036] Figure 8 It is a structural diagram of a server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0037] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0038] Before explaining in detail the book friend recommendation method provided in the embodiment of the present application, the system architecture provided in the embodiment of the present application is first introduced.

[0039] Please refer to Figure 1 , Figure 1 1 is a schematic diagram of the architecture of a book friend recommendation system according to an exemplary embodiment. The book friend recommendation system includes a user terminal 101 corresponding to a first user and a server 102. The user terminal 101 is connected to the server 102 for communication. The communication connection can be a wired or wireless connection, which is not limited in the embodiment of the present application.

[0040] The server 102 is used to determine the attribute similarity between the first user and each of the multiple second users to obtain multiple attribute similarities. Determine the reading ability similarity between the first user and each of the second users to obtain multiple reading ability similarities. Determine the reading preference similarity between the first user and each of the second users to obtain multiple reading preference similarities. Then, based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities, determine the user similarity between the first user and each of the second users to obtain multiple user similarities. Then, based on the multiple user similarities, recommend book friends to the user terminal 101. The user terminal 101 is used to present the identifier of the book friend recommended by the server 102 and the user similarity between the first user and the book friend to the first user.

[0041] In addition, the server 102 is further configured to obtain the geographic location of the book friend to be recommended, and send the geographic location of the book friend to be recommended to the user terminal 101. The user terminal 101 is further configured to present the geographic location of the book friend recommended by the server 102 to the first user.

[0042] Optionally, the book friend recommendation system further includes an RFID (Radio Frequency of Identification) tag 103, an RFID antenna 104, and an RFID bookshelf terminal 105. The RFID tag 103 is attached to the book, the RFID antenna 104 is located in the bookshelf, the RFID antenna 104 is in communication connection with the RFID bookshelf terminal 105, and the RFID bookshelf terminal 105 is in communication connection with the server 102. The communication connection can be a wired or wireless connection, which is not limited in the embodiment of the present application.

[0043] The RFID tag 103 is used to transmit a radio frequency signal, and the RFID antenna 104 is used to receive the radio frequency signal transmitted by the RFID tag 103 and transmit the radio frequency signal to the RFID bookshelf terminal 105. The RFID bookshelf terminal 105 is used to manage the books in the bookshelf based on the radio frequency signal. That is, after receiving the radio frequency signal, the RFID bookshelf terminal 105 can interact with the server 102 so that the server 102 can obtain the number of books read by the first user within a fixed time, the information of the books purchased by the first user, and the information of the books read by the first user.

[0044] Among them, the user terminal 101 and the RFID bookshelf terminal 105 can be any electronic product that can interact with the user through one or more methods such as keyboard, touchpad, touch screen, remote control, voice interaction or handwriting device, such as PC (Personal Computer), mobile phone, smart phone, PDA (Personal Digital Assistant), wearable device, PPC (Pocket PC), tablet computer, smart car machine, smart TV, smart speaker, etc.

[0045] Server 102 can be an independent server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms, or a cloud computing service center.

[0046] Those skilled in the art should understand that the above-mentioned user terminal 101, server 102 and RFID bookshelf terminal 105 are only examples, and other existing or future terminals or servers that may appear, if applicable to the embodiments of the present application, should also be included in the protection scope of the embodiments of the present application and are included here by reference.

[0047] It should be noted that the system architecture described in the embodiments of the present application is for the purpose of more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person of ordinary skill in the art can know that with the evolution of the system architecture, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0048] Next, the book friend recommendation method provided in the embodiment of the present application is explained in detail.

[0049] Figure 2 This is a flowchart of a book friend recommendation method provided in an embodiment of the present application. Please refer to Figure 2 , the method comprises the following steps.

[0050] Step 201: The server determines the attribute similarity between a first user and each of a plurality of second users to obtain a plurality of attribute similarities, where the attribute similarities are used to indicate the degree of similarity between attribute information of two users.

[0051] Since the method for determining the attribute similarity between the first user and each second user is the same, the server selects a second user from the multiple second users and determines the attribute similarity between the first user and the selected second user according to the following operations (1)-(4) until the attribute similarity between the first user and each second user is determined.

[0052] (1) The server obtains attribute information of the first user and attribute information of the selected second user, where the attribute information includes gender and age.

[0053] Regardless of whether it is the first user or the second user, the server obtains the attribute information of each user in the same way. Therefore, the first user is taken as an example for description.

[0054] The attribute information of the first user may be acquired in advance by the server and stored locally, or may be acquired by the server through interaction with a user terminal corresponding to the first user when determining the attribute similarity between the first user and the second user.

[0055] For example, the user terminal corresponding to the first user may display a user interface in which the first user inputs his / her own attribute information. The user terminal corresponding to the first user obtains the attribute information input by the first user and sends the attribute information of the first user to the server.

[0056] (2) The server determines the gender similarity between the first user and the selected second user based on the gender of the first user and the gender of the selected second user.

[0057] As an example, the server may determine the gender similarity between the first user and the selected second user according to the following formula (1).

[0058]

[0059] In the above formula (1), S mm' Represents the gender similarity between the first user and the selected second user.

[0060] If the gender of the first user is the same as the gender of the selected second user, it means that the gender of the first user is completely similar to the gender of the selected second user. At this time, the server can determine the gender similarity between the first user and the selected second user as 1. If the gender of the first user is different from the gender of the selected second user, it means that the gender of the first user is completely dissimilar to the gender of the selected second user. At this time, the server can determine the gender similarity between the first user and the selected second user as 0.

[0061] (3) The server determines the age similarity between the first user and the selected second user based on the age of the first user and the age of the selected second user.

[0062] As an example, the server may determine the age similarity between the first user and the selected second user according to the following formula (2).

[0063]

[0064] In the above formula (2), A mm' represents the age similarity between the first user and the selected second user, a m represents the age of the first user, a m' represents the age of the selected second user, a max represents the maximum value of the age group of the first user and the selected second user, a min Represents the minimum value in this age group.

[0065] It can be seen from the first case in the above formula (2) that if the age of the first user is the same as the age of the selected second user, it means that the age of the first user is completely similar to the age of the selected second user. At this time, the server can determine the age similarity between the first user and the selected second user as 1. It can be seen from the second case in the above formula (2) that if the age of the first user is different from the age of the selected second user but they are in the same age group, the age similarity between the first user and the selected second user is calculated in the manner of the second case. It can be seen from the third case in the above formula (2) that if the age of the first user is different from the age of the selected second user and they are in a different age group, at this time, the age similarity between the first user and the selected second user cannot be measured. Therefore, the server determines the age similarity between the first user and the selected second user as 0.

[0066] Among them, the age group is pre-set, for example, the age greater than or equal to 7 and less than or equal to 17 is divided into the juvenile group, the age greater than or equal to 18 and less than or equal to 40 is divided into the youth group, the age greater than or equal to 41 and less than or equal to 65 is divided into the middle-aged group, and the age greater than or equal to 66 is divided into the elderly group. Of course, different age groups can also be divided in other ways, such as primary school, middle school, high school and university. Moreover, the age group can also be adjusted according to different needs.

[0067] (4) The server determines the attribute similarity between the first user and the selected second user based on the gender similarity and age similarity between the first user and the selected second user.

[0068] As an example, the server may determine the attribute similarity between the first user and the selected second user according to the following formula (3).

[0069]

[0070] In the above formula (3), Z mm' represents the attribute similarity between the first user and the selected second user, S mm' represents the gender similarity between the first user and the selected second user, A mm' Represents the age similarity between the first user and the selected second user.

[0071] That is, the server averages the gender similarity between the first user and the selected second user, and the age similarity between the first user and the selected second user, to obtain the attribute similarity between the first user and the selected second user.

[0072] The above method of determining the attribute similarity between the first user and the selected second user is only an example. In other embodiments, the server may also perform weighted summation of the gender similarity between the first user and the selected second user, and the age similarity between the first user and the selected second user according to the weights corresponding to each similarity to obtain the attribute similarity between the first user and the selected second user.

[0073] Among them, the administrator can mark the weight corresponding to each similarity in advance, that is, the administrator marks the weight corresponding to each similarity according to the importance of each similarity, and then the administrator stores the corresponding relationship between the similarity and the weight of the similarity in the server. In this way, when the server determines the attribute similarity between the first user and the selected second user, based on the gender similarity and the age similarity, the weight corresponding to the gender similarity and the age similarity is obtained from the corresponding relationship between the stored similarity and the weight of the similarity, and then the gender similarity and the age similarity are weighted and summed according to the weight corresponding to each similarity to obtain the attribute similarity between the first user and the selected second user.

[0074] Step 202: The server determines the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, where the reading ability similarity is used to indicate the similarity between the number of books read by two users within a fixed time period.

[0075] Since the method for determining the reading ability similarity between the first user and each second user is the same, the server selects a second user from the multiple second users and determines the reading ability similarity between the first user and each second user according to the following operations (1)-(2) until the reading ability similarity between the first user and each second user is determined.

[0076] (1) The server obtains the number of books read by the first user within a fixed time period and the number of books read by the selected second user within a fixed time period.

[0077] Regardless of whether it is the first user or the second user, the server obtains the number of books read by each user within a fixed time period in the same way, so the first user is taken as an example for introduction.

[0078] Based on the previous description, an RFID tag is affixed to the book, the book is stored in a bookshelf, an RFID antenna is deployed in the bookshelf, the RFID antenna can communicate with the RFID bookshelf terminal, and the RFID bookshelf terminal can interact with the server so that the server can obtain the number of books read by the first user within a fixed time. Moreover, the bookshelf can include two areas, namely, a read shelf area and an unread shelf area. The read shelf area is used to store read books, and the unread shelf area is used to store unread books. Of course, the read books and the unread books can also be placed without partitions. That is, the bookshelf is not divided into a read shelf area and an unread shelf area. Therefore, the process of the server obtaining the number of books read by the first user within a fixed time will be described in detail in two cases.

[0079] In the first case, the bookshelf is not divided into a read book area and an unread book area, that is, the read books and the unread books are placed together.

[0080] In this case, the RFID bookshelf terminal determines the book list of the books currently stored in the bookshelf at a fixed frequency within a fixed time length, and sends the book list to the server whenever a book list is determined. After the server receives the book list sent by the RFID bookshelf terminal, it determines the number of books read by the first user within a fixed time length based on every two adjacent book lists. That is, the RFID antenna receives the radio frequency signal emitted by the RFID tag on the book currently stored in the bookshelf, and sends the received radio frequency signal to the RFID bookshelf terminal. The RFID bookshelf terminal determines the book list of the books currently stored in the bookshelf at a fixed frequency within a fixed time length through the radio frequency signal emitted by the RFID antenna, and sends the book list to the server whenever a book list is determined. The server determines the number of books read by the first user within a fixed time length based on every two adjacent book lists.

[0081] The above-mentioned fixed duration is pre-set. Moreover, the RFID bookshelf terminal can also adjust the above-mentioned fixed duration according to different requirements. Similarly, the above-mentioned fixed frequency is also pre-set. Moreover, the RFID bookshelf terminal can also adjust the above-mentioned fixed frequency according to different requirements.

[0082] The implementation process of the RFID bookshelf terminal determining a book list of books currently stored in a bookshelf through a radio frequency signal transmitted by an RFID antenna includes: the RFID bookshelf terminal receives the radio frequency signal transmitted by the RFID antenna, determines corresponding tag information based on the received radio frequency signal, obtains corresponding book information from a correspondence between stored tag information and book information based on the determined tag information, generates a book list based on the obtained book information, and obtains a book list of books currently stored in the bookshelf.

[0083] The tag information is used to uniquely identify the RFID tag, such as the tag identification, and different RFID tags transmit different radio frequency signals. Therefore, after the RFID bookshelf terminal receives the radio frequency signal sent by the RFID antenna, it can identify the received radio frequency signal to determine the corresponding tag information.

[0084] The book information includes at least one of the following: book name, book author, book type, book keyword, book publisher, book content introduction, book page number, etc. The RFID bookshelf terminal can generate a book list based on the book name in the acquired book information. Of course, the RFID bookshelf terminal can also generate a book list through other information, which is not limited in the embodiment of the present application.

[0085] The implementation process of the server determining the number of books read by the first user within a fixed time period based on the book lists of each two adjacent times includes: based on the book list received this time and the book list received last time, determining the books taken out this time, and determining the number of books taken out this time as the number of books read by the first user this time. That is, the server compares the book list received this time with the book list received last time. If the book list received by the server this time has fewer books than the book list received last time, it means that the books have been taken out, that is, the reduced books are the books taken out this time, and the number of books taken out this time is the number of books read by the first user this time. After the server determines the number of books read by the first user each time within a fixed time period according to the above method, the number of books read each time is added up to obtain the number of books read by the first user within the fixed time period.

[0086] The correspondence between the tag information and the book information is determined by the server when the book is stored in the bookshelf, that is, when the book is put into the warehouse, the server can determine the correspondence between the tag information and the book information. Afterwards, the server sends the correspondence between the tag information and the book information to the RFID bookshelf terminal.

[0087] As an example, the implementation process of the server determining the correspondence between tag information and book information includes: for the books currently to be stored, the server receives the tag information sent by the RFID bookshelf terminal, and obtains the book information of the book, and then stores the received tag information and the book information of the book into the correspondence between the tag information and the book information.

[0088] Based on the above description, the first user can attach an RFID tag to a book. Therefore, for the book currently to be stored, when the first user attaches the RFID tag to the book and stores the book in a bookshelf, the RFID tag on the book will emit a radio frequency signal, and the RFID antenna in the bookshelf can receive the radio frequency signal emitted by the RFID tag and transmit the radio frequency signal to the RFID bookshelf terminal. In this way, the RFID bookshelf terminal can determine the corresponding tag information based on the radio frequency signal, and then send the tag information to the server.

[0089] Since each book is printed with a barcode, the user terminal corresponding to the first user scans the barcode on the book to obtain the international standard book number of the book, determines the book information of the book based on the international standard book number of the book, and sends the book information of the book to the server. Alternatively, the user terminal corresponding to the first user scans the barcode on the book to obtain the international standard book number of the book, and sends the international standard book number of the book to the server. The server receives the international standard book number sent by the user terminal corresponding to the first user, and determines the book information of the book based on the international standard book number.

[0090] It should be noted that the server may store the book information of multiple books. In order to accurately determine which book information the tag information currently sent by the RFID bookshelf terminal needs to correspond to, the server can also send the stored multiple book names to the RFID bookshelf terminal when receiving the tag information sent by the RFID bookshelf terminal, so that the RFID bookshelf terminal displays the multiple book names. When the first user selects a book name from the multiple book names, the RFID bookshelf terminal sends the book name selected by the first user to the server. In this way, the server can store the book information corresponding to the tag information currently sent by the RFID bookshelf terminal and the book name selected by the first user in the corresponding relationship between the tag information and the book information. Of course, the server can also determine it in other ways. For example, under normal circumstances, books are stored one by one, so the server can directly store the tag information sent by the RFID bookshelf terminal and the book information obtained the most recently in the corresponding relationship between the tag information and the book information.

[0091] The above content is that the book list is determined by the RFID bookshelf terminal, and the server determines the number of books read by the first user within a fixed time period based on the book list. In other embodiments, after the RFID bookshelf terminal determines the book list, the number of books read by the first user within a fixed time period is determined based on the book list, and then the number of books read by the first user within the fixed time period is sent to the server. In this way, the server receives the number of books read by the first user within the fixed time period sent by the RFID bookshelf terminal.

[0092] The process by which the RFID bookshelf terminal determines the number of books read by the first user within a fixed time period based on the book list is similar to the process by which the server determines the number of books read by the first user within a fixed time period. Please refer to the previous related description for details and will not be repeated here.

[0093] In the second case, the bookshelf includes a read book area and an unread book area.

[0094] In this case, the RFID bookshelf terminal determines the number of first RFID tags and the number of second RFID tags, the number of first RFID tags being the number of RFID tags in the book shelf area that has been read at the start time of the fixed time length, and the number of second RFID tags being the number of RFID tags in the book shelf area that has been read at the end time of the fixed time length. The server determines the absolute value of the difference between the number of first RFID tags and the number of second RFID tags as the number of books read by the first user within the fixed time length. Alternatively, if the first user has not purchased any books within the fixed time length, the RFID bookshelf terminal determines the number of third RFID tags and the number of fourth RFID tags, the number of third RFID tags being the number of RFID tags in the book shelf area that has not been read at the start time of the fixed time length, and the number of fourth RFID tags being the number of RFID tags in the book shelf area that has not been read at the end time of the fixed time length. The server determines the absolute value of the difference between the number of third RFID tags and the number of fourth RFID tags as the number of books read by the first user within the fixed time length.

[0095] Since the first user stores the books he has read in the read shelf area and stores the books he has not read in the unread shelf area, the books that are reduced in the unread shelf area are the books that the first user has read. In this way, the server can determine the number of tags that are reduced in the unread shelf area as the number of books read by the first user within a fixed time period.

[0096] It should be noted that a first RFID antenna is deployed in the read book shelf area, and the first RFID antenna is provided with a switch. A second RFID antenna is deployed in the unread book shelf area, and the second RFID antenna is provided with a switch. When the switch of the first RFID antenna is turned on and the switch of the second RFID antenna is turned off, the RFID bookshelf terminal can communicate with the first RFID antenna. That is, the RFID bookshelf terminal can determine the number of the first RFID tags and the number of the second RFID tags based on the number of radio frequency signals sent by the first RFID antenna. Similarly, when the switch of the first RFID antenna is turned off and the switch of the second RFID antenna is turned on, the RFID bookshelf terminal can communicate with the second RFID antenna. That is, the RFID bookshelf terminal can determine the number of the third RFID tags and the number of the fourth RFID tags based on the number of radio frequency signals sent by the second RFID antenna.

[0097] (2) The server determines the similarity of reading ability between the first user and the selected second user based on the number of books read by the first user and the number of books read by the selected second user.

[0098] As an example, the server may determine the reading ability similarity between the first user and the selected second user according to the following formula (4).

[0099]

[0100] In the above formula (4), M mm' represents the reading ability similarity between the first user and the selected second user, M m Represents the number of books read by the first user, M m' Represents the number of books read by the selected second user, M max Represents the maximum value of the number of books read by the first user and the plurality of second users.

[0101] From the first case in the above formula (4), it can be seen that if the maximum value of the number of books read by the first user and the multiple second users is 0, it means that the number of books read by the first user and the multiple second users are all 0. At this time, it is impossible to measure the reading ability similarity between the first user and the selected second user. Therefore, the server determines the reading ability similarity between the first user and the selected second user as 0. From the second case in the above formula (4), it can be seen that if the maximum value of the number of books read by the first user and the multiple second users is not 0, the reading ability similarity between the first user and the selected second user is calculated in the manner of the second case.

[0102] Step 203: The server determines the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, where the reading preference similarities are used to indicate the similarity between the book reading preferences of two users.

[0103] Since the method for determining the similarity of reading preferences between the first user and each second user is the same, the server selects a second user from the multiple second users and determines the similarity of reading preferences between the first user and each second user according to the following operations (1)-(2) until the similarity of reading preferences between the first user and each second user is determined.

[0104] (1) The server determines the book reading preferences of the first user and the book reading preferences of the selected second user, where the book reading preferences include reading preferences in multiple dimensions.

[0105] Regardless of whether it is the first user or the second user, the server determines the book reading preference of each user in the same way, so the first user is taken as an example for introduction.

[0106] In some embodiments, the server obtains information about books purchased by the first user, obtains information about books that the first user has read, and determines the first user's book reading preference based on the information about the books purchased by the first user and the information about the books that the first user has read.

[0107] The first user's book reading preference includes at least one of the following: the first user's favorite book author, the first user's favorite book type, and the first user's favorite book keyword. Of course, other preferences may also be included.

[0108] Based on the above description, the bookshelf may include two areas, namely, a read books shelf area and an unread books shelf area. The read books shelf area is used to store the read books, and the unread books shelf area is used to store the unread books. Of course, the read books and the unread books can also be placed without partitioning. That is, the bookshelf is not divided into a read books shelf area and an unread books shelf area. Therefore, next, the process of the server obtaining the information of the books purchased by the first user and the information of the books read by the first user will be described in detail in two cases.

[0109] In the first case, the bookshelf is not divided into a read book area and an unread book area, that is, the read books and the unread books are placed together.

[0110] In this case, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the bookshelf according to a fixed frequency, and then sends the RFID tag information to the server. After receiving the RFID tag information sent by the RFID bookshelf terminal, the server determines the information of the book purchased by the first user based on the received RFID tag information. That is, the RFID antenna receives the radio frequency signal emitted by the RFID tag on the book currently stored in the bookshelf, and sends the received radio frequency signal to the RFID bookshelf terminal. The RFID bookshelf terminal determines the RFID tag information according to the fixed frequency through the radio frequency signal emitted by the RFID antenna, and sends the RFID tag information to the server. The server determines the information of the book purchased by the first user based on the RFID tag information received twice adjacently.

[0111] The implementation process of the server determining the information of the book purchased by the first user based on the RFID tag information received twice adjacently includes: determining the book information of the books stored in the bookshelf based on the RFID tag information received twice and the corresponding relationship between the stored tag information and the book information, and determining the book information of the book purchased by the first user this time based on the book information determined twice. After the server determines the book information of the book purchased by the first user each time according to the above method, the server can determine the book information of all books purchased by the first user.

[0112] As an example, for any book information received twice, if the book information received later includes the book information but the book information received earlier does not include the book information, it is determined that the book information is the book information purchased by the first user this time.

[0113] In the first case of step 202, the server can determine the book information of the books that the first user has read within a fixed time period. Therefore, in the same way, the server can determine the book information of all the books that the first user has read.

[0114] In the second case, the bookshelf includes a read book area and an unread book area.

[0115] In this case, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the read shelf area, and sends the RFID tag information in the read shelf area to the server. Based on the received RFID tag information, the server obtains the corresponding book information from the correspondence between the stored tag information and the book information, and determines the obtained book information as the book information of all books that the first user has read. For the books purchased by the first user, in a similar manner to the first case above, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the unread shelf area at a fixed frequency, and then sends the RFID tag information to the server. After receiving the RFID tag information sent by the RFID bookshelf terminal, the server determines the book information of all books purchased by the first user based on the received RFID tag information.

[0116] Since the first user stores the books that have been read in the read shelf area, the server can determine the information of the books that have been read by the first user based on the information of the RFID tags in the read shelf area. Moreover, in the embodiment of the present application, since the first user stores the purchased books in the unread shelf area, the server can determine the information of the books purchased by the first user based on the information of the RFID tags in the unread shelf area.

[0117] Since the server stores the correspondence between the tag information and the book information, after receiving the RFID tag information, the server obtains the corresponding book information from the correspondence between the stored tag information and the book information based on the RFID tag information, thereby obtaining the information of the book purchased by the first user and the information of the book read by the first user.

[0118] The implementation process of the server determining the book reading preference of the first user based on the information of the book purchased by the first user and the information of the book read by the first user includes: taking the author of the book purchased by the first user as the first user's favorite book author, taking the type of the book purchased by the first user as the first user's favorite book type, and taking the keyword of the book purchased by the first user as the first user's favorite book keyword. And / or, taking the author of the book read by the first user as the first user's favorite book author, taking the type of the book read by the first user as the first user's favorite book type, and taking the keyword of the book read by the first user as the first user's favorite book keyword.

[0119] For example, please refer to Figure 3 , Figure 3 is a schematic diagram of determining a first user's book reading preference provided by an embodiment of the present application. Figure 3In the step, the RFID bookshelf terminal determines the RFID tag information of the books currently stored in the bookshelf at a fixed frequency, and sends the RFID tag information to the server. If the RFID tag information received by the server this time does not change compared with the RFID tag information received last time, the step returns to the step in which the RFID bookshelf terminal determines the RFID tag information of the books currently stored in the bookshelf at a fixed frequency. If the RFID tag information received by the server this time increases compared with the RFID tag information received last time, it means that the first user may have purchased books and the first user has read books. The server determines the book reading preference of the first user based on the information of the books purchased by the first user and the information of the books read by the first user.

[0120] (2) The server determines the similarity of reading preferences between the first user and the selected second user based on the reading preferences of the first user in multiple dimensions and the reading preferences of the selected second user in multiple dimensions.

[0121] As an example, the server may determine the similarity of reading preferences between the first user and the selected second user according to the following formula (5).

[0122]

[0123] In the above formula (5), L mm' represents the similarity of reading preferences between the first user and the selected second user, mf i represents the reading preference of the first user in the i-th dimension among multiple dimensions, m'f i represents the reading preference of the selected second user in the i-th dimension among the multiple dimensions, and n represents the number of the multiple dimensions.

[0124] It should be noted that in the above formula (5) represents the XOR operation of the first user's reading preference in the i-th dimension and the selected second user's reading preference in the i-th dimension. As an example, the server can determine according to the following formula (6): The value of .

[0125]

[0126] If the reading preference of the first user in the i-th dimension is different from the reading preference of the selected second user in the i-th dimension, The value of is determined to be 0. If the reading preference of the first user in the i-th dimension is the same as the reading preference of the selected second user in the i-th dimension, then The value of is determined to be 1.

[0127] Step 204: The server determines the user similarities between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities.

[0128] Since the method for determining the user similarity between the first user and each second user is the same, the server selects a second user from the multiple second users, and determines the user similarity between the first user and the selected second user according to the following operation until the user similarity between the first user and each second user is determined.

[0129] As an example, the server may determine the user similarity between the first user and the selected second user according to the following formula (7).

[0130]

[0131] In the above formula (7), X mm' represents the user similarity between the first user and the selected second user, Z mm' represents the attribute similarity between the first user and the selected second user, M mm' represents the reading ability similarity between the first user and the selected second user, L mm' Represents the similarity of reading preferences between the first user and the selected second user.

[0132] That is, the server averages the attribute similarity, reading ability similarity, and reading preference similarity between the first user and the selected second user to obtain the user similarity between the first user and the selected second user.

[0133] The above method of determining the user similarity between the first user and the selected second user is only an example. In other embodiments, the server may also perform weighted summation of the attribute similarity, reading ability similarity and reading preference similarity between the first user and the selected second user according to the weights corresponding to each similarity to obtain the user similarity between the first user and the selected second user.

[0134] The process of the administrator marking the weights corresponding to each similarity in advance is described in the previous section and will not be repeated here.

[0135] For example, please refer to Figure 4 , Figure 4 is a schematic diagram of determining user similarity provided by an embodiment of the present application. Figure 4In the example, the server determines the attribute similarity between the first user and the selected second user based on the gender and age of the first user and the gender and age of the selected second user; determines the reading ability similarity between the first user and the selected second user based on the number of books read by the first user and the number of books read by the selected second user; determines the reading preference similarity between the first user and the selected second user based on the reading preferences of the first user in multiple dimensions and the reading preferences of the selected second user in multiple dimensions. Then, the server determines the user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities.

[0136] Step 205: The server recommends book friends to the user terminal corresponding to the first user based on the multiple user similarities.

[0137] As an example, the server sorts the multiple user similarities in descending order of user similarity to obtain a sorting result, and determines the second users corresponding to the first K user similarities in the sorting result as book friends to be recommended, where K is an integer greater than 1. The server recommends the K book friends to the user terminal corresponding to the first user. The user terminal corresponding to the first user displays the identifiers of the K book friends and the user similarities between the first user and the K book friends, so that the first user can select book friends for communication and borrowing, thereby promoting reading level and improving the utilization rate of books.

[0138] Furthermore, the server can also obtain the geographic locations of the K book friends and send the geographic locations of the K book friends to the user terminal corresponding to the first user. After receiving the geographic locations of the K book friends, the user terminal corresponding to the first user determines the locations of the first user and the K book friends on the map in combination with the geographic location of the first user. Then, the user terminal corresponding to the first user displays the identifiers of the K book friends, the distance information between the first user and the K book friends, and the user similarity between the first user and the K book friends. In this way, the first user can select a book friend who is closer to him from the K book friends for communication and borrowing.

[0139] As another example, the server may also send the user similarities between the first user and the multiple second users to the user terminal corresponding to the first user. When the user terminal corresponding to the first user receives the user similarities between the first user and the multiple second users, the identifiers of the multiple second users and the user similarities between the first user and the multiple second users are displayed, so that the first user can select book friends from the multiple second users for communication and borrowing.

[0140] For example, please refer to Figure 5 , Figure 5Schematic diagram of a book friend recommendation method provided in an embodiment of the present application. Figure 5 In the invention, RFID tags are attached to the books owned by each user, and each user stores the books owned by him in his own bookshelf for storage. The RFID bookshelf terminal corresponding to each bookshelf determines the number of RFID tags in each bookshelf and the RFID tag information, and sends the number of RFID tags and the RFID tag information to the server. The server determines the user similarity between the first user and each second user, and then recommends book friends to the user terminal corresponding to the first user based on the multiple user similarities determined.

[0141] In the embodiment of the present application, after determining the attribute similarity, reading ability similarity, and reading preference similarity between the first user and each of the multiple second users, the user similarity between the first user and the multiple second users can be accurately determined based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities, and then book friends are recommended based on the multiple user similarities, thereby improving the accuracy of book friend recommendations. Moreover, the user terminal corresponding to the first user can also display the identifiers of multiple book friends, the distance information between the first user and the multiple book friends, and the user similarity between the first user and the multiple book friends, so that the first user can select a book friend with a closer distance from the multiple book friends for communication and borrowing according to his actual needs, thereby promoting reading level and improving the utilization rate of books.

[0142] Figure 6 This is a schematic diagram of the structure of a book friend recommendation device provided in an embodiment of the present application. The book friend recommendation device can be implemented as part or all of a server by software, hardware, or a combination of both. Figure 6 The device includes: an attribute similarity determination module 601, a reading ability similarity determination module 602, a reading preference similarity determination module 603, a user similarity determination module 604 and a recommendation module 605.

[0143] The attribute similarity determination module 601 is used to determine the attribute similarity between the first user and each of the plurality of second users to obtain a plurality of attribute similarities, wherein the attribute similarity is used to indicate the similarity of the attribute information of the two users. The detailed implementation process refers to the corresponding contents in the above-mentioned embodiments, which will not be repeated here.

[0144] The reading ability similarity determination module 602 is used to determine the reading ability similarity between the first user and each second user to obtain multiple reading ability similarities, and the reading ability similarity is used to indicate the similarity of the number of books read by two users within a fixed time. The detailed implementation process refers to the corresponding content in the above embodiments, which will not be repeated here.

[0145] The reading preference similarity determination module 603 is used to determine the reading preference similarity between the first user and each second user to obtain multiple reading preference similarities, and the reading preference similarities are used to indicate the similarity of the book reading preferences of the two users. The detailed implementation process refers to the corresponding content in the above embodiments, which will not be repeated here.

[0146] The user similarity determination module 604 is used to determine the user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities. The detailed implementation process refers to the corresponding content in the above embodiments, which will not be repeated here.

[0147] The recommendation module 605 is used to recommend book friends to the user terminal corresponding to the first user based on the similarities of the multiple users. The detailed implementation process refers to the corresponding content in the above embodiments, which will not be repeated here.

[0148] Optionally, the attribute similarity determination module 601 includes:

[0149] The first selection unit is used to select a second user from the plurality of second users, and determine the attribute similarity between the first user and the selected second user according to the following operations until the attribute similarity between the first user and each second user is determined:

[0150] An attribute information acquisition unit, used to acquire attribute information of the first user and attribute information of the selected second user, the attribute information including gender and age;

[0151] a gender similarity determination unit, configured to determine the gender similarity between the first user and the selected second user based on the gender of the first user and the gender of the selected second user;

[0152] an age similarity determination unit, configured to determine an age similarity between the first user and the selected second user based on the age of the first user and the age of the selected second user;

[0153] The attribute similarity determination unit is used to determine the attribute similarity between the first user and the selected second user based on the gender similarity and age similarity between the first user and the selected second user.

[0154] Optionally, the age similarity determination unit is specifically used for:

[0155] Based on the age of the first user and the age of the selected second user, determine the age similarity between the first user and the selected second user according to the following formula;

[0156]

[0157] In the above formula, A mm' represents the age similarity between the first user and the selected second user, a m represents the age of the first user, a m' represents the age of the selected second user, a max represents the maximum value of the age group of the first user and the selected second user, a min Represents the minimum value in this age group.

[0158] Optionally, the reading ability similarity determination module 602 includes:

[0159] The second selection unit is used to select a second user from the plurality of second users, and determine the reading ability similarity between the first user and the selected second user according to the following operations until the reading ability similarity between the first user and each second user is determined:

[0160] A book reading quantity acquisition unit, used to acquire the book reading quantity of the first user within a fixed time period, and the book reading quantity of the selected second user within a fixed time period;

[0161] The reading ability similarity determination unit is used to determine the reading ability similarity between the first user and the selected second user based on the number of books read by the first user and the number of books read by the selected second user.

[0162] Optionally, the reading ability similarity determination unit is specifically used for:

[0163] Based on the number of books read by the first user and the number of books read by the selected second user, the reading ability similarity between the first user and the selected second user is determined according to the following formula;

[0164]

[0165] In the above formula, M mm' represents the reading ability similarity between the first user and the selected second user, M m Represents the number of books read by the first user, M m' Represents the number of books read by the selected second user, M max Represents the maximum value of the number of books read by the first user and the plurality of second users.

[0166] Optionally, the reading preference similarity determination module 603 includes:

[0167] The third selection unit is used to select a second user from the plurality of second users, and determine the similarity of reading preferences between the first user and the selected second user according to the following operations until the similarity of reading preferences between the first user and each second user is determined:

[0168] A book reading preference determination unit, used to determine the book reading preference of the first user and the book reading preference of the selected second user, wherein the book reading preference includes reading preferences in multiple dimensions;

[0169] The reading preference similarity determination unit is used to determine the reading preference similarity between the first user and the selected second user based on the reading preferences of the first user in multiple dimensions and the reading preferences of the selected second user in multiple dimensions.

[0170] Optionally, the reading preference similarity determination unit is specifically used for:

[0171] Based on the reading preferences of the first user in multiple dimensions and the reading preferences of the selected second user in multiple dimensions, the similarity of the reading preferences between the first user and the selected second user is determined according to the following formula;

[0172]

[0173] In the above formula, L mm' represents the similarity of reading preferences between the first user and the selected second user, mf i represents the reading preference of the first user in the i-th dimension among multiple dimensions, m'f i represents the reading preference of the selected second user in the i-th dimension among the multiple dimensions, and n represents the number of the multiple dimensions.

[0174] Optionally, the book reading preference determination unit is specifically used for:

[0175] Obtain information about books purchased by the first user;

[0176] Obtain information about books that the first user has read;

[0177] Based on the information of the books purchased by the first user and the information of the books read by the first user, the book reading preference of the first user is determined.

[0178] In the embodiment of the present application, after determining the attribute similarity, reading ability similarity, and reading preference similarity between the first user and each of the multiple second users, the user similarity between the first user and the multiple second users can be accurately determined based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities, and then book friends are recommended based on the multiple user similarities, thereby improving the accuracy of book friend recommendations. Moreover, the user terminal corresponding to the first user can also display the identifiers of multiple book friends, the distance information between the first user and the multiple book friends, and the user similarity between the first user and the multiple book friends, so that the first user can select a book friend with a closer distance from the multiple book friends for communication and borrowing according to his actual needs, thereby promoting reading level and improving the utilization rate of books.

[0179] It should be noted that: the book friend recommendation device provided in the above embodiment only uses the division of the above functional modules as an example when making book friend recommendations. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the book friend recommendation device provided in the above embodiment and the book friend recommendation method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0180] Figure 7 700 is a block diagram of a terminal 700 provided in an embodiment of the present application. The terminal 700 may be a portable mobile terminal, such as a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 player (Moving Picture Experts Group Audio Layer IV), a laptop computer or a desktop computer. The terminal 700 may also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal or other names.

[0181] Typically, the terminal 700 includes a processor 701 and a memory 702 .

[0182] The processor 701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 701 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 701 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 701 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 701 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0183] The memory 702 may include one or more computer-readable storage media, which may be non-transitory. The memory 702 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 702 is used to store at least one instruction, which is used to be executed by the processor 701 to implement the book friend recommendation method provided in the method embodiment of the present application.

[0184] In some embodiments, the terminal 700 may further optionally include: a peripheral device interface 703 and at least one peripheral device. The processor 701, the memory 702 and the peripheral device interface 703 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 703 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 704, a touch display screen 705, a camera 706, an audio circuit 707, a positioning component 708 and a power supply 709.

[0185] The peripheral device interface 703 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 701 and the memory 702. In some embodiments, the processor 701, the memory 702, and the peripheral device interface 703 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 701, the memory 702, and the peripheral device interface 703 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.

[0186] The radio frequency circuit 704 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 704 communicates with the communication network and other communication devices through electromagnetic signals. The radio frequency circuit 704 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 704 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The radio frequency circuit 704 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes but is not limited to: the World Wide Web, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G and 5G), a wireless local area network and / or a WiFi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 704 may also include circuits related to NFC (Near Field Communication), which is not limited in the embodiments of the present application.

[0187] The display screen 705 is used to display the UI (User Interface). The UI may include graphics, text, icons, videos and any combination thereof. When the display screen 705 is a touch display screen, the display screen 705 also has the ability to collect touch signals on the surface or above the surface of the display screen 705. The touch signal can be input to the processor 701 as a control signal for processing. At this time, the display screen 705 can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, the display screen 705 can be one, and the front panel of the terminal 700 is set; in other embodiments, the display screen 705 can be at least two, which are respectively set on different surfaces of the terminal 700 or are folded; in some other embodiments, the display screen 705 can be a flexible display screen, which is set on the curved surface or folded surface of the terminal 700. Even, the display screen 705 can also be set to a non-rectangular irregular shape, that is, a special-shaped screen. The display screen 705 can be made of materials such as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode, organic light-emitting diode).

[0188] The camera assembly 706 is used to capture images or videos. Optionally, the camera assembly 706 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 706 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.

[0189] The audio circuit 707 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals and input them into the processor 701 for processing, or input them into the radio frequency circuit 704 to achieve voice communication. For the purpose of stereo acquisition or noise reduction, there may be multiple microphones, which are respectively arranged at different parts of the terminal 700. The microphone may also be an array microphone or an omnidirectional acquisition microphone. The speaker is used to convert the electrical signal from the processor 701 or the radio frequency circuit 704 into sound waves. The speaker may be a traditional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into sound waves audible to humans, but also convert the electrical signal into sound waves inaudible to humans for purposes such as ranging. In some embodiments, the audio circuit 707 may also include a headphone jack.

[0190] Positioning component 708 is used to locate the current geographical location of terminal 700 to implement navigation or LBS (Location Based Service). Positioning component 708 can be a positioning component based on the US GPS (Global Positioning System), China's Beidou system or Russia's Galileo system.

[0191] The power supply 709 is used to power various components in the terminal 700. The power supply 709 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 709 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery charged through a wired line, and a wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0192] Those skilled in the art will understand that Figure 7 The structure shown in the figure does not constitute a limitation on the terminal 700, and the terminal 700 may include more or less components than those shown in the figure, or combine some components, or adopt a different component arrangement.

[0193] Figure 8 800 is a schematic diagram of the structure of a server provided in an embodiment of the present application. The server 800 includes a central processing unit (CPU) 801, a system memory 804 including a random access memory (RAM) 802 and a read-only memory (ROM) 803, and a system bus 805 connecting the system memory 804 and the central processing unit 801. The server 800 also includes a basic input / output system (I / O system) 806 that helps transmit information between various devices in the computer, and a large-capacity storage device 807 for storing an operating system 813, an application program 814, and other program modules 815.

[0194] The basic input / output system 806 includes a display 808 for displaying information and an input device 809 such as a mouse and a keyboard for user inputting information. The display 808 and the input device 809 are connected to the central processing unit 801 through an input / output controller 810 connected to the system bus 805. The basic input / output system 806 may also include an input / output controller 810 for receiving and processing inputs from a plurality of other devices such as a keyboard, a mouse, or an electronic stylus. Similarly, the input / output controller 810 also provides output to a display screen, a printer, or other types of output devices.

[0195] The mass storage device 807 is connected to the central processing unit 801 through a mass storage controller (not shown) connected to the system bus 805. The mass storage device 807 and its associated computer-readable media provide non-volatile storage for the server 800. That is, the mass storage device 807 may include a computer-readable medium (not shown) such as a hard disk or a CD-ROM drive.

[0196] Without loss of generality, computer readable media may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid-state storage technologies, CD-ROM, DVD or other optical storage, cassettes, magnetic tapes, disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that computer storage media are not limited to the above. The above-mentioned system memory 804 and mass storage device 807 can be collectively referred to as memory.

[0197] According to various embodiments of the present application, the server 800 can also be connected to a remote computer on the network through a network such as the Internet. That is, the server 800 can be connected to the network 812 through the network interface unit 811 connected to the system bus 805, or the network interface unit 811 can be used to connect to other types of networks or remote computer systems (not shown).

[0198] The above-mentioned memory also includes one or more programs, and the one or more programs are stored in the memory and configured to be executed by the CPU.

[0199] In some embodiments, a computer-readable storage medium is further provided, in which a computer program is stored, and when the computer program is executed by a processor, the steps of the book friend recommendation method in the above embodiment are implemented. For example, the computer-readable storage medium can be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.

[0200] It is worth noting that the computer-readable storage medium mentioned in the embodiments of the present application may be a non-volatile storage medium, in other words, a non-transitory storage medium.

[0201] It should be understood that all or part of the steps to implement the above embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The computer instructions can be stored in the above-mentioned computer readable storage medium.

[0202] That is, in some embodiments, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute the steps of the above-mentioned book recommendation method.

[0203] It should be understood that the "at least one" mentioned herein refers to one or more, and "multiple" refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit them to be necessarily different.

[0204] The above-mentioned embodiments are provided for the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A book friend recommendation method, characterized in that: Applied to a server, the method comprises: Determine an attribute similarity between the first user and each of the plurality of second users to obtain a plurality of attribute similarities, wherein the attribute similarities are used to indicate a degree of similarity of attribute information of two users; Determine the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, wherein the reading ability similarities are used to indicate the similarity between the number of books read by two users within a fixed time period; Determine the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, wherein the reading preference similarities are used to indicate the similarity between the book reading preferences of the two users; Determining a user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities; Based on the multiple user similarities, recommending book friends to a user terminal corresponding to the first user; Wherein, for the first user and any one of the plurality of second users, any one of the users has a corresponding bookshelf, an RFID tag is attached to each book in the bookshelf, an RFID antenna is deployed in the bookshelf, the RFID antenna can receive the radio frequency signal emitted by the RFID tag on the book currently stored in the bookshelf, and send the received radio frequency signal to the RFID bookshelf terminal for communication, the RFID bookshelf terminal can determine the RFID tag information through the radio frequency signal emitted by the RFID antenna, and send the determined RFID tag information to the server, so that the server obtains the number of books read by any one of the users within a fixed time period, the information of the books purchased by any one of the users, and the information of the books read by any one of the users through the RFID bookshelf terminal, and determines the book reading preference of any one of the users based on the information of the books purchased by any one of the users and the information of the books read by any one of the users; The server obtains the number of books read by any user within a fixed time period, information about books purchased by any user, and information about books read by any user through the RFID bookshelf terminal, including: In the first case, the bookshelf is not divided into a read shelf area and an unread shelf area, and the read books and the unread books are placed together; in this case, the RFID bookshelf terminal determines the book list of the books currently stored in the bookshelf at a fixed frequency within a fixed time, and whenever a book list is determined, the book list is sent to the server. After the server receives the book list sent by the RFID bookshelf terminal, it determines the number of books read by any user within the fixed time based on the book lists of each two adjacent times; wherein the server determines the number of books read by any user within the fixed time based on the book lists of each two adjacent times, including: based on the book list received this time, and the book list received last time The server compares the book list received this time with the book list received last time. If the number of books in the book list received this time is less than that in the book list received last time, it means that the books are taken out, and the reduced books are the books taken out this time. The number of books taken out this time is the number of books read by any user this time. After the server determines the number of books read by any user each time within a fixed time according to the above method, the number of books read each time is added to obtain the number of books read by any user within a fixed time. In the second case, the bookshelf includes a read book shelf area and an unread book shelf area. In this case, the RFID bookshelf terminal determines the number of first RFID tags and the number of second RFID tags, the first RFID tag number is the number of RFID tags in the read book shelf area at the start time of the fixed time length, and the second RFID tag number is the number of RFID tags in the read book shelf area at the end time of the fixed time length, and the server determines the absolute value of the difference between the first RFID tag number and the second RFID tag number as the number of books read by any user within the fixed time length; in the case that any user does not purchase a book within the fixed time length, the RFID bookshelf terminal determines the number of third RFID tags and the number of fourth RFID tags, the third RFID tag number is the number of RFID tags in the unread book shelf area at the start time of the fixed time length, and the fourth RFID tag number is the number of RFID tags in the unread book shelf area at the end time of the fixed time length, and the server determines the absolute value of the difference between the third RFID tag number and the fourth RFID tag number as the number of books read by any user within the fixed time length; In the second case, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the read shelf area, and sends the RFID tag information in the read shelf area to the server. Based on the received RFID tag information, the server obtains the corresponding book information from the corresponding relationship between the stored tag information and the book information, and determines the obtained book information as the book information of all books that have been read by any user. For books purchased by any user, in accordance with the method of the first case above, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the unread shelf area at a fixed frequency, and then sends the RFID tag information to the server. After receiving the RFID tag information sent by the RFID bookshelf terminal, the server determines the book information of all books purchased by any user based on the received RFID tag information.

2. The method according to claim 1, characterized in that The determining of the attribute similarity between the first user and each of the plurality of second users comprises: Select a second user from the plurality of second users, and determine the attribute similarity between the first user and the selected second user according to the following operations until the attribute similarity between the first user and each second user is determined: Acquire attribute information of the first user and attribute information of the selected second user, wherein the attribute information includes gender and age; Based on the gender of the first user and the gender of the selected second user, determining a gender similarity between the first user and the selected second user; Determining age similarity between the first user and the selected second user based on the age of the first user and the age of the selected second user; Based on the gender similarity and age similarity between the first user and the selected second user, the attribute similarity between the first user and the selected second user is determined.

3. The method according to claim 2, characterized in that The determining, based on the age of the first user and the age of the selected second user, the age similarity between the first user and the selected second user includes: Based on the age of the first user and the age of the selected second user, determining the age similarity between the first user and the selected second user according to the following formula; In the above formula, A mm' represents the age similarity between the first user and the selected second user, a m represents the age of the first user, a m' represents the age of the selected second user, a max represents the maximum value of the age group of the first user and the selected second user, a min Represents the minimum value in the stated age group.

4. The method according to claim 1, characterized in that The determining the reading ability similarity between the first user and each second user includes: A second user is selected from the plurality of second users, and the reading ability similarity between the first user and the selected second user is determined according to the following operations until the reading ability similarity between the first user and each second user is determined: Obtaining the number of books read by the first user within the fixed time period, and the number of books read by the selected second user within the fixed time period; Based on the number of books read by the first user and the number of books read by the selected second user, the reading ability similarity between the first user and the selected second user is determined.

5. The method according to claim 4, characterized in that The determining, based on the number of books read by the first user and the number of books read by the selected second user, the similarity of reading ability between the first user and the selected second user includes: Based on the number of books read by the first user and the number of books read by the selected second user, the reading ability similarity between the first user and the selected second user is determined according to the following formula; In the above formula, M mm' represents the reading ability similarity between the first user and the selected second user, M m represents the number of books read by the first user, M m' Represents the number of books read by the selected second user, M max Represents the maximum value of the number of books read by the first user and the plurality of second users.

6. The method according to claim 1, characterized in that The determining the similarity of reading preferences between the first user and each second user includes: A second user is selected from the plurality of second users, and the similarity of reading preferences between the first user and the selected second user is determined according to the following operations, until the similarity of reading preferences between the first user and each second user is determined: Determining the book reading preferences of the first user and the book reading preferences of the selected second user, wherein the book reading preferences include reading preferences in multiple dimensions; Based on the reading preferences of the first user in the multiple dimensions and the reading preferences of the selected second user in the multiple dimensions, the similarity of the reading preferences between the first user and the selected second user is determined.

7. The method according to claim 6, characterized in that The determining the similarity of the reading preferences between the first user and the selected second user based on the reading preferences of the first user in the multiple dimensions and the reading preferences of the selected second user in the multiple dimensions includes: Based on the reading preferences of the first user in the multiple dimensions and the reading preferences of the selected second user in the multiple dimensions, the similarity of the reading preferences between the first user and the selected second user is determined according to the following formula; In the above formula, L mm' represents the similarity of reading preferences between the first user and the selected second user, mf i represents the reading preference of the first user in the i-th dimension among the multiple dimensions, m'f i represents the reading preference of the selected second user in the i-th dimension among the multiple dimensions, and n represents the number of the multiple dimensions.

8. The method according to claim 6, characterized in that The determining the book reading preference of the first user includes: Acquire information about the book purchased by the first user; Obtaining information about books that the first user has read; Based on the information of the books purchased by the first user and the information of the books read by the first user, the book reading preference of the first user is determined.

9. A server, characterized in that: The server comprises a processor, wherein the processor is configured to: Determine an attribute similarity between the first user and each of the plurality of second users to obtain a plurality of attribute similarities, wherein the attribute similarities are used to indicate a degree of similarity of attribute information of two users; Determine the reading ability similarity between the first user and each second user to obtain a plurality of reading ability similarities, wherein the reading ability similarities are used to indicate the similarity between the number of books read by two users within a fixed time period; Determine the reading preference similarity between the first user and each second user to obtain a plurality of reading preference similarities, wherein the reading preference similarities are used to indicate the similarity between the book reading preferences of the two users; Determining a user similarity between the first user and each second user based on the multiple attribute similarities, the multiple reading ability similarities, and the multiple reading preference similarities to obtain multiple user similarities; Based on the multiple user similarities, recommending book friends to a user terminal corresponding to the first user; Wherein, for the first user and any one of the plurality of second users, any one of the users has a corresponding bookshelf, an RFID tag is attached to each book in the bookshelf, an RFID antenna is deployed in the bookshelf, the RFID antenna can receive the radio frequency signal emitted by the RFID tag on the book currently stored in the bookshelf, and send the received radio frequency signal to the RFID bookshelf terminal for communication, the RFID bookshelf terminal can determine the RFID tag information through the radio frequency signal emitted by the RFID antenna, and send the determined RFID tag information to the server, so that the server obtains the number of books read by any one of the users within a fixed time period, the information of the books purchased by any one of the users, and the information of the books read by any one of the users through the RFID bookshelf terminal, and determines the book reading preference of any one of the users based on the information of the books purchased by any one of the users and the information of the books read by any one of the users; The server obtains the number of books read by any user within a fixed time period, information about books purchased by any user, and information about books read by any user through the RFID bookshelf terminal, including: In the first case, the bookshelf is not divided into a read shelf area and an unread shelf area, and the read books and the unread books are placed together; in this case, the RFID bookshelf terminal determines the book list of the books currently stored in the bookshelf at a fixed frequency within a fixed time, and whenever a book list is determined, the book list is sent to the server. After the server receives the book list sent by the RFID bookshelf terminal, it determines the number of books read by any user within the fixed time based on the book lists of each two adjacent times; wherein the server determines the number of books read by any user within the fixed time based on the book lists of each two adjacent times, including: based on the book list received this time, and the book list received last time The server compares the book list received this time with the book list received last time. If the number of books in the book list received this time is less than that in the book list received last time, it means that the books are taken out, and the reduced books are the books taken out this time. The number of books taken out this time is the number of books read by any user this time. After the server determines the number of books read by any user each time within a fixed time according to the above method, the number of books read each time is added to obtain the number of books read by any user within a fixed time. In the second case, the bookshelf includes a read book shelf area and an unread book shelf area. In this case, the RFID bookshelf terminal determines the number of first RFID tags and the number of second RFID tags, the first RFID tag number is the number of RFID tags in the read book shelf area at the start time of the fixed time length, and the second RFID tag number is the number of RFID tags in the read book shelf area at the end time of the fixed time length, and the server determines the absolute value of the difference between the first RFID tag number and the second RFID tag number as the number of books read by any user within the fixed time length; in the case that any user does not purchase a book within the fixed time length, the RFID bookshelf terminal determines the number of third RFID tags and the number of fourth RFID tags, the third RFID tag number is the number of RFID tags in the unread book shelf area at the start time of the fixed time length, and the fourth RFID tag number is the number of RFID tags in the unread book shelf area at the end time of the fixed time length, and the server determines the absolute value of the difference between the third RFID tag number and the fourth RFID tag number as the number of books read by any user within the fixed time length; In the second case, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the read shelf area, and sends the RFID tag information in the read shelf area to the server. Based on the received RFID tag information, the server obtains the corresponding book information from the corresponding relationship between the stored tag information and the book information, and determines the obtained book information as the book information of all books that have been read by any user. For books purchased by any user, in accordance with the method of the first case above, the RFID bookshelf terminal determines the RFID tag information on the books currently stored in the unread shelf area at a fixed frequency, and then sends the RFID tag information to the server. After receiving the RFID tag information sent by the RFID bookshelf terminal, the server determines the book information of all books purchased by any user based on the received RFID tag information.

10. A book friend recommendation system, characterized in that: The system includes a user terminal and a server; The server is used to execute the steps of any method described in claims 1-8.