WO2022142043A1 - Course recommendation method and apparatus, device, and storage medium - Google Patents

Course recommendation method and apparatus, device, and storage medium Download PDF

Info

Publication number
WO2022142043A1
WO2022142043A1 PCT/CN2021/091727 CN2021091727W WO2022142043A1 WO 2022142043 A1 WO2022142043 A1 WO 2022142043A1 CN 2021091727 W CN2021091727 W CN 2021091727W WO 2022142043 A1 WO2022142043 A1 WO 2022142043A1
Authority
WO
WIPO (PCT)
Prior art keywords
course
data
updated
user preference
user
Prior art date
Application number
PCT/CN2021/091727
Other languages
French (fr)
Chinese (zh)
Inventor
严杨扬
程克喜
肖舒涛
晏湘涛
张政
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2022142043A1 publication Critical patent/WO2022142043A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Definitions

  • the present application relates to the field of artificial intelligence technology, and in particular, to a course recommendation method, apparatus, device and storage medium.
  • the current online teaching platform does not have the function of intelligently recommending learning courses for users. Users only monotonically study the courses manually pushed by the platform system administrator in the background. The inventor realizes that this recommendation method makes employees passive and difficult to find their own feelings. Interesting courses cannot mobilize users' enthusiasm for learning.
  • the purpose is to solve the technical problem that users of the existing online teaching platform can only monotonically study the courses manually pushed by the platform system administrator in the background, and cannot mobilize users' enthusiasm for learning.
  • the main purpose of this application is to provide a course recommendation method, device, equipment and storage medium, which aims to solve the problem that users of the existing online teaching platform can only monotonically study the courses manually pushed by the platform system administrator in the background, and cannot Technical issues to mobilize users' enthusiasm for learning.
  • a course recommendation method which includes:
  • the data update request is a recommendation request after course update
  • obtain the course name data set to be updated and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
  • the data update request is a recommendation request after the user preference label is updated
  • the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
  • the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
  • Obtain user preference tag data from the user preference tag library based on the data update request obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
  • the similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained.
  • Matrix update similarity matrix library
  • Each user of the identification set identifies the corresponding target course recommendation result.
  • the present application also proposes a course recommendation device, which includes:
  • the request acquisition module is used to acquire data update requests
  • the course name word segmentation database update module is used to obtain the data set of the course name to be updated when the data update request is a recommendation request after the course update, and use the preset course batch processing parameters to respectively update the course name to be updated. Perform word segmentation for each course name in the data set, and obtain the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated. The word segmentation result of the course name corresponding to each name updates the course name word segmentation database;
  • the user preference tag library update module is used to obtain the user preference tag data set to be updated when the data update request is a recommendation request after the user preference tag is updated, and use preset user batch processing parameters according to the user preference tag to be updated.
  • the preference tag dataset updates the user preference tag library;
  • the target course name word segmentation word vector set determination module is used to obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain the target course name word segmentation result set, respectively for the target course name.
  • the word vector generation is performed on each of the course name word segmentation results in the word segmentation result set, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained;
  • the target user preference tag word vector set determination module is configured to obtain user preference tag data from the user preference tag library based on the data update request, and obtain a target user preference tag data set, and respectively analyze the target user preference tag data set in the target user preference tag data set. Perform word vector generation on each of the user preference tag data to obtain a target user preference tag word vector set corresponding to the target user preference tag data set;
  • the similarity matrix generation module is used to generate the similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set, and obtain the similarity matrix of the course to be updated and the preference tag, according to the to-be-updated course and preference tag similarity matrix.
  • Updated course and preference label similarity matrix Update similarity matrix library;
  • a course recommendation module configured to obtain a course recommendation update request based on the data update request, and use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain Each user identifier of the user identifier set to be recommended corresponds to a target course recommendation result.
  • the present application also proposes a computer device, comprising a memory and a processor, wherein the memory stores a computer program, wherein the processor implements the following method steps when executing the computer program:
  • the data update request is a recommendation request after course update
  • obtain the course name data set to be updated and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
  • the data update request is a recommendation request after the user preference label is updated
  • the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
  • the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
  • Obtain user preference tag data from the user preference tag library based on the data update request obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
  • the similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained.
  • Matrix update similarity matrix library
  • Each user of the identification set identifies the corresponding target course recommendation result.
  • the present application also proposes a computer-readable storage medium on which a computer program is stored, wherein when the computer program is executed by a processor, the following method steps are implemented:
  • the data update request is a recommendation request after course update
  • obtain the course name data set to be updated and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
  • the data update request is a recommendation request after the user preference label is updated
  • the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
  • the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
  • Obtain user preference tag data from the user preference tag library based on the data update request obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
  • the similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained.
  • Matrix update similarity matrix library
  • Each user of the identification set identifies the corresponding target course recommendation result.
  • the course recommendation method, device, device and storage medium of the present application firstly, when the data update request is a recommendation request after course update, using the preset course batch processing parameters to separately perform word segmentation for each course name in the course name data set to be updated and analyze Update the course name thesaurus database.
  • the preset user batch processing parameters are used to update the user preference label database according to the user preference label data set to be updated. Obtain the result of the course name word segmentation from the course name word segmentation database and generate the word vector to obtain the target course name word segmentation word vector set.
  • the tag Based on the data update request, obtain the user preference label data from the user preference label database and generate the word vector to obtain the target course name word segmentation word vector Then, the similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set to obtain the similarity matrix of the course to be updated and the preference label, and the similarity matrix library is updated. Finally, by adopting the preset recommendation rules Recommend courses according to the similarity matrix library and the user identification set carried in the course recommendation update request, and obtain the target course recommendation results corresponding to each user identification of the user identification set to be recommended. After the tag is updated, it realizes dynamic and in-depth mining of learning courses that users are really interested in, which is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and mobilizing users' enthusiasm for learning.
  • FIG. 1 is a schematic flowchart of a course recommendation method according to an embodiment of the application.
  • FIG. 2 is a schematic block diagram of the structure of a course recommendation apparatus according to an embodiment of the application
  • FIG. 3 is a schematic structural block diagram of a computer device according to an embodiment of the present application.
  • the present application proposes a course recommendation method. Applied in the field of artificial intelligence technology.
  • the course recommendation method updates the course name word segmentation database after the updated course name is segmented after the course update, updates the user preference label database according to the user preference label data set to be updated after the user preference label is updated, and according to the updated type (That is, course update, user preference label update) to obtain the word segmentation result of the course name and the user preference label data, respectively generate the word vector, generate a similarity matrix according to the word vector generation result, and perform course recommendation according to the similarity matrix, so that after the course update And/or the user preference tag is updated to realize dynamic and in-depth mining of the learning courses that the user is really interested in, which is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and helping to mobilize the enthusiasm of users for learning.
  • the updated type That is, course update, user preference label update
  • an embodiment of the present application provides a course recommendation method, the method includes:
  • S5 Acquire user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform a word analysis on each of the user preference tag data in the target user preference tag data set. vector generation, to obtain the target user preference tag word vector set corresponding to the target user preference tag data set;
  • S6 Generate a similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set to obtain a similarity matrix between the courses to be updated and the preference labels, and according to the to-be-updated courses and preference labels
  • the similarity matrix updates the similarity matrix library
  • S7 Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the to-be-recommended course recommendation Each user ID of the set of user IDs corresponds to the target course recommendation result.
  • the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database.
  • the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request.
  • Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name.
  • the user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated.
  • Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
  • the third-party application system for example, use the Apache Spark Streaming technology to obtain the data update request sent by the Kafka message middleware, or realize this Data update request triggered by the applied program file.
  • Kafka is a high-throughput distributed publish-subscribe messaging system.
  • the data update request includes: recommendation request after course update and recommendation request after user preference tag update.
  • the recommendation request after course update refers to the request for course recommendation after the course name is updated.
  • the recommendation request after the user preference tag is updated refers to a request for course recommendation after the user preference tag is updated.
  • the data set of the course name input by the user to be updated can be obtained, or the data set to be updated sent by a third-party application system (for example, Kafka message middleware) can be obtained.
  • a third-party application system for example, Kafka message middleware
  • the course name data set to be updated includes: course name identifiers, course names, course name data to be added, and course name data to be deleted, each course name identifier corresponds to a course name, and each course name identifier corresponds to a new course name Added course title data and/or a course title data that needs to be deleted.
  • the course name word segmentation database includes: course name identification, course name word segmentation results, each course name identification corresponds to a course name word segmentation result.
  • Each of the course title word segmentation results includes at least one word.
  • the course name thesaurus is stored in the local database.
  • the preset course batch processing parameters include: batch interval data, block interval data, sliding window size, and sliding interval data.
  • the sliding window size refers to the size of the sliding window.
  • the sliding interval data refers to the time interval of the sliding window.
  • the batch interval data is set to 2S, and the block interval data is set to 200ms, so that the number of tasks corresponding to each batch is 10 (that is, the batch interval data set 2S divided by the block interval data setting 200ms), so as to make full use of each CPU core without losing the computing performance of the computer, which is not specifically limited in this example.
  • the sliding window size and the sliding interval data are set as integer multiples of the batch interval data.
  • Integer multiples include but are not limited to: 1 times, 2 times, 3 times, 4 times, and 5 times.
  • the word segmentation tool is used to segment each course name in the course name data to be added in the to-be-updated course name data set according to the preset course batch processing parameters, and all the words obtained by word segmentation of a course name are used as A course name word segmentation result, adding all the course name word segmentation results to the course name word segmentation database; directly deleting the course name data that needs to be deleted in the to-be-updated course name data set from the course name word segmentation database.
  • the user preference label data set to be updated input by the user may be obtained, or the user preference label data to be updated may be obtained from a third-party software system set.
  • the tag word segmentation library is stored in the local database.
  • the user preference tag data set to be updated includes: user identification, preference tags to be added, and preference tags to be deleted.
  • the user identifier may be an identifier that uniquely identifies a user, such as a user name, a user ID, or the like.
  • the tag word segmentation library includes: user IDs and user preference tag data, each user ID corresponds to a user preference tag data.
  • User preference tag data includes one or more preference tags. Each user preference tag data corresponds to one user.
  • the preset user batch processing parameters include: batch interval data, block interval data, sliding window size, and sliding interval data.
  • the word segmentation result of the updated course name is obtained from the course name word segmentation database, and when the data update request is a recommendation after the user preference tag is updated Obtain all course name word segmentation results from the course name word segmentation database when requesting, and use all the obtained course name word segmentation results as the target course name word segmentation result set; respectively, for each of the courses in the target course name word segmentation result set
  • the name word segmentation result is used to generate word vectors, and all the generated word vectors are used as the target course name word segmentation word vector set corresponding to the target course name word segmentation result set. That is to say, each of the course title word segmentation results corresponds to a course title word segmentation word vector, and each course name word segmentation word vector corresponds to one of the course names.
  • each user preference label data corresponds to a user preference label word vector
  • each user preference label word vector corresponds to a user.
  • a similarity matrix is generated for each course name word vector in the target course name word segmentation word vector set and each user preference label word vector in the target user preference label word vector set, and the generated similarity matrix is used as The similarity matrix of courses to be updated and preference labels.
  • each element of the similarity matrix of the course to be updated and the preference label represents the similarity between a word vector of a course name and a word vector of a user preference label.
  • the row of the similarity matrix between the course to be updated and the preference label corresponds to the word vector of the course name
  • the column corresponds to the word vector of the user's preference label
  • the column of the similarity matrix of the course to be updated and the preference label corresponds to the word vector of the course name and the row.
  • a cosine similarity algorithm is used to calculate the cosine similarity of each course name word vector in the target course name word segmentation word vector set and each user preference label word vector in the target user preference label word vector set, to obtain the cosine similarity.
  • Updated course and preference label similarity matrix That is to say, the element in the similarity matrix of the course to be updated and the preference label is the cosine similarity.
  • the similarity matrix library includes: user IDs, course and preference tag similarity matrix, and each user ID corresponds to a course and preference tag similarity matrix.
  • updating operations in the similarity matrix library according to the similarity matrix of the courses to be updated and preference tags includes but not limited to: covering, adding, partial covering, partial deletion, partial covering and partial deletion.
  • the similarity matrix library is stored in a local Hbase database.
  • the course recommendation update request sent by the administrator can be obtained based on the data update request, or the course recommendation generated based on the data update request after the program file implementing the present application receives the end signal for updating the similarity matrix library
  • the update request may also be a course recommendation update request generated by the program files of the present application at preset recommendation intervals.
  • a course recommendation update request refers to a request for recommending courses to users.
  • the step of generating a course recommendation update request based on the data update request after the program file implementing the present application receives an end signal for updating the similarity matrix library includes: when the data update request is a recommendation after course update When requesting, obtain a preset user identification set, and use the preset user identification set as the user identification set to be recommended carried in the course recommendation update request; when the data update request is a recommendation after the user preference tag is updated When requested, all user identifiers corresponding to the user preference tag data set to be updated are used as the user identifier set to be recommended carried in the course recommendation update request.
  • the set of user IDs to be recommended that is, the set of user IDs of users who need to recommend courses.
  • the user identification set to be recommended includes at least one user identification.
  • the preset recommendation rules include but are not limited to: the similarity is greater than the preset similarity threshold.
  • the target course recommendation result includes: a user ID and a set of course names, wherein each user ID corresponds to a set of course names.
  • the set of course names in the target course recommendation result is a set of course names of courses that the user is really interested in corresponding to the user ID in the target course recommendation result.
  • the above-mentioned step of obtaining a data update request includes:
  • the data update notification is obtained from the Kafka message middleware, and the data update request is generated according to the data update notification, so that the present application is suitable for distributed application scenarios; the Kafka message middleware is beneficial for updating the course names that need to be updated. and efficient management of user preference tags that need to be updated.
  • Data update notifications are notifications of updates to course names and/or user preference tags.
  • the preset batch processing parameters are used to perform word segmentation on each course name in the to-be-updated course-name data set, to obtain each of the course names corresponding to the to-be-updated course name data set.
  • the step of updating the course name word segmentation database according to the course name word segmentation results corresponding to each of the course names corresponding to the to-be-updated course name data sets including:
  • each course name in the to-be-updated course name data set is word-segmented and then the course name word segmentation database is updated, which provides a data basis for subsequent similarity matrix generation; and the word segmentation result is updated to the course name word segmentation database, It is beneficial to reuse and improves the efficiency of generating the similarity matrix.
  • the preset course batch processing parameters input by the user may be obtained, the preset course batch processing parameters may also be obtained from a database, or the preset course batch processing parameters sent by a third-party application system. It can be understood that, the preset course batch processing parameters can also be written into a program file for realizing the present application.
  • the to-be-updated course title data set includes the course title data that needs to be deleted, it means that the course corresponding to the course title data to be deleted no longer provides services, and at this time, the course title data to be deleted needs to be deleted from all
  • the above-mentioned course name thesaurus is deleted, so as to avoid the situation that the courses recommended to users cannot be learned, and improve the user satisfaction.
  • the to-be-updated course name data set includes the course name data that needs to be added, it means that the course corresponding to the new course name data needs to be online to provide services, and the word segmentation tool is used according to the preset
  • the course batch processing parameter uses a sliding window to segment each of the course names in the to-be-added course name data, and uses a set of words obtained by segmenting a course name as a result of the course name segmentation.
  • the word segmentation tool selects the Chinese word segmentation tool of Jaba. It can be understood that, the word segmentation tool can also select other tools from the prior art, which is not specifically limited here.
  • Jieba Chinese word segmentation tool has also become jieba Chinese word segmentation tool.
  • Jieba Chinese word segmentation tool realizes efficient word graph scanning based on prefix dictionary, generates a directed acyclic graph (DAG) composed of all possible word formations of Chinese characters in a sentence, and uses dynamic The planning algorithm finds the path with the maximum probability, and finds the maximum segmentation combination based on the word frequency. In this application, the precise mode in the word segmentation of "jump" is used to obtain the most accurate word segmentation result.
  • DAG directed acyclic graph
  • the preset batch processing parameters are used to segment each of the course names in the to-be-added course name data, to obtain each of the course names in the to-be-added course name data.
  • This embodiment realizes that the preset course batch processing parameters are updated before the step of using the preset course batch processing parameters to segment each of the course names in the to-be-added course name data respectively, which is beneficial to Adjust the batch processing parameters of the preset courses according to the monitoring results of the batch processing time, which avoids the problem that the course name dataset to be updated is not completely updated to the course name word segmentation database due to the unreasonable settings of the batch processing parameters of the preset courses.
  • the batch processing duration monitoring result can be obtained from the database, or the batch processing duration monitoring result can be obtained from the cache.
  • the preset course batch processing parameters input by the user can be obtained, the preset course batch processing parameters can also be obtained from a database, or the preset course batch processing parameters sent by a third-party application system.
  • the batch processing duration monitoring result is greater than the batch processing interval data of the preset course batch processing parameters, it means that the last batch processing duration exceeds the expected batch processing interval data, and the preset batch processing interval data needs to be adjusted at this time.
  • Set the batch interval data of the batch processing parameters of the course to avoid the occurrence of more than expected batch interval data in the next batch, and use the preset batch interval adjustment rules to perform batch interval according to the batch processing duration monitoring results.
  • Data calculation using the calculated batch interval data as the batch interval data of the batch processing parameters of the course to be updated.
  • the preset batch interval adjustment rules include but are not limited to: preset ratios.
  • the preset course batch processing parameters are replaced by the to-be-updated course batch processing parameters.
  • steps S0231 to 0233 can also be used to update the preset user batch processing parameters, which will not be repeated here.
  • the above-mentioned step of determining the batch processing parameters of the courses to be updated according to the batch processing duration monitoring result includes:
  • S02333 Perform sliding window size calculation and sliding interval data calculation according to the batch interval data corresponding to the batch processing parameters of the courses to be updated, and obtain the size of the sliding window and the data corresponding to the batch processing parameters of the courses to be updated. the sliding interval data.
  • This embodiment realizes that the batch processing parameters of the courses to be updated are determined according to the batch processing duration monitoring result, the number of CPU cores, and the block interval data, so that the batch processing parameters of the courses to be updated obtained through calculation are in accordance with the program of the present application. Adjustment is made under the condition of the service performance of the server where the file is located, which is beneficial to improve the stability of the course name thesaurus.
  • the number of CPU (central processing unit) cores and block interval data can be obtained from the database, and the number of CPU cores and block interval data can also be obtained from the cache.
  • the number of CPU cores refers to the number of CPU cores of the server loaded when the program file of the present application provides the course recommendation service.
  • the block interval data is the duration of each data block processed by the server loaded when the program file of the present application provides the course recommendation service.
  • the value range of the preset ratio is greater than 0.9 and less than 1.1.
  • the first preset multiple is an integer.
  • the second preset multiple is an integer.
  • the above-mentioned steps of using preset user batch processing parameters to update the user preference tag database according to the to-be-updated user preference tag data set include:
  • S31 Acquire a piece of the user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters, and obtain the user preference label data to be processed;
  • S34 Repeat the step of obtaining a piece of user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters to obtain the user preference label data to be processed, until the completion of the The user preference label database is updated by all the user preference label data in the user preference label data set to be updated.
  • This embodiment implements updating the user preference tag library, which provides a data basis for subsequent similarity matrix generation; and updates the user preference tag data to the user preference tag library, which is beneficial to reuse and improves the efficiency of generating the similarity matrix.
  • For S31 use the preset user batch processing parameters to extract a plurality of user preference label data from the user preference label data set to be updated in a sliding window manner, and obtain a piece of the user preference label data from the extracted plurality of user preference label data Favorite tag data, the acquired user favorite tag data is used as the user favorite tag data to be processed.
  • the user identification corresponding to the user preference tag data to be processed is used to search in the user preference tag library, and when the search is successful, the user identification found in the user preference tag library is used as the to-be-added user identification, otherwise, add the user preference tag data to be processed and the user identification corresponding to the user preference tag data to be processed into the user preference tag database; add the user preference tag data to be processed to all in the user preference label data corresponding to the user identification to be added in the user preference label library.
  • the preference tags to be deleted may be all preference tags in a user preference tag data, or part of preference tags in a user preference tag data.
  • steps S31 to S34 are repeatedly executed until the user preference label database is updated with all the user preference label data in the to-be-updated user preference label data set.
  • the above-mentioned preset recommendation rules are used to perform course recommendation according to the similarity matrix library and the user identification set to be recommended carried in the course recommendation update request, and each user of the user identification set to be recommended is obtained.
  • the steps to identify the respective target course recommendation results including:
  • S71 Search the set of user identifiers to be recommended carried in the course recommendation update request in the similarity matrix library, and obtain the respective courses and corresponding user identifiers of the user identifiers to be recommended in the set of user identifiers to be recommended.
  • Like label similarity matrix
  • S73 Acquire one of the user identifiers from the set of user identifiers to be recommended as the user identifier to be recommended;
  • S74 Find out the similarity between courses and preference tags that are greater than the preset similarity threshold from the similarity matrix of the courses and preference tags corresponding to the user IDs to be recommended, and compare all the courses and preference tags found. All course names corresponding to the label similarity are used as the target course recommendation result corresponding to the user ID to be recommended;
  • This embodiment implements course recommendation according to the preset similarity threshold, the similarity matrix library, and the set of user identifiers to be recommended carried in the course recommendation update request, so that after the course is updated and/or the user preference tag is updated, the Dynamic and in-depth mining of the learning courses that users are really interested in is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and mobilizing users' enthusiasm for learning.
  • search for each user identifier in the set of user identifiers to be recommended carried in the course recommendation update request in the similarity matrix library, and obtain each of the user identifiers in the set of user identifiers to be recommended.
  • User IDs correspond to courses and preference tags similarity matrix.
  • the preset similarity threshold input by the user may be obtained, the preset similarity threshold may also be obtained from a database, or the preset similarity threshold sent by a third-party application system may be obtained. It can be understood that, the preset similarity threshold can also be written into a program file for realizing the present application.
  • the preset recommendation rule adopts the similarity It is greater than the preset similarity threshold, indicating that all the course names corresponding to the similarity between the courses and the preference tag and the user preference tag data corresponding to the user ID to be recommended are relatively similar, which is greater than the preset similarity threshold.
  • the courses corresponding to the similarity threshold of the courses and all the course names corresponding to the similarity of the preference tag are the learning courses that the users corresponding to the user ID to be recommended are excavated and are really interested in, so it can be greater than the preset similarity. All the course names corresponding to the similarity between the courses of the threshold and the preference tag are used as the target course recommendation result corresponding to the user ID to be recommended.
  • steps S73 to S75 are repeatedly performed until the target course recommendation result corresponding to each of the user identifiers in the set of user identifiers to be recommended is determined.
  • an embodiment of the present application provides a course recommendation device, the device includes:
  • the course name thesaurus updating module 200 is used to obtain the data set of the course name to be updated when the data update request is a recommendation request after the course update, and use the preset course batch processing parameters for the courses to be updated respectively. Perform word segmentation for each course name in the name data set, and obtain the word segmentation result of each course name corresponding to each of the course names corresponding to the course name data set to be updated. The word segmentation result of the said course name corresponding to each course name updates the course name word segmentation database;
  • the user preference tag database update module 300 is configured to obtain the user preference tag data set to be updated when the data update request is a recommendation request after the user preference tag is updated, and use preset user batch processing parameters according to the to-be-updated data set.
  • the user preference tag dataset updates the user preference tag library;
  • the target course name word segmentation word vector set determination module 400 is used to obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain a target course name word segmentation result set, respectively.
  • the word vector generation is performed on each of the course name word segmentation results in the name word segmentation result set, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained;
  • the target user preference tag word vector set determination module 500 is configured to obtain user preference tag data from the user preference tag library based on the data update request, and obtain a target user preference tag data set, and respectively determine the target user preference tag data. Collecting each of the user preference tag data to generate a word vector to obtain a target user preference tag word vector set corresponding to the target user preference tag data set;
  • the similarity matrix generation module 600 is used to generate a similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set, and obtain the similarity matrix of the course to be updated and the preference tag, according to the Update the similarity matrix library of the similarity matrix of the course to be updated and the preference label;
  • a course recommendation module 700 configured to obtain a course recommendation update request based on the data update request, and use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, A target course recommendation result corresponding to each user ID of the user ID set to be recommended is obtained.
  • the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database.
  • the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request.
  • Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name.
  • the user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated.
  • Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
  • an embodiment of the present application further provides a computer device.
  • the computer device may be a server, and its internal structure may be as shown in FIG. 3 .
  • the computer equipment includes a processor, memory, a network interface and a database connected by a system bus. Among them, the processor of the computer design is used to provide computing and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium, an internal memory.
  • the nonvolatile storage medium stores an operating system, a computer program, and a database.
  • the memory provides an environment for the execution of the operating system and computer programs in the non-volatile storage medium.
  • the database of the computer equipment is used to store data such as course recommendation methods.
  • the network interface of the computer device is used to communicate with an external terminal through a network connection.
  • the computer program when executed by the processor, implements a course recommendation method.
  • the method for recommending courses includes: obtaining a data update request; when the data update request is a recommendation request after course update, obtaining a data set of course names to be updated, and using preset course batch processing parameters for the to-be-updated courses respectively.
  • the word segmentation is performed for each course name in the course name data set, and the word segmentation result of each course name corresponding to each of the course names corresponding to the course name data set to be updated is obtained.
  • the course name word segmentation results corresponding to each of the course names update the course name word segmentation database; when the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and a preset
  • the user batch processing parameters update the user preference label database according to the user preference label data set to be updated; obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain the target course name word segmentation result to generate a word vector for each of the course name word segmentation results in the target course name word segmentation result set, respectively, to obtain the target course name word segmentation word vector set corresponding to the target course name word segmentation result set; based on the data update request
  • the target user preference label word vector set corresponding to the preference label data set is generated according to the target course
  • the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database.
  • the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request.
  • Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name.
  • the user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated.
  • Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
  • An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements a course recommendation method, including the steps of: acquiring a data update request; When it is a recommendation request after course update, obtain the course name data set to be updated, use preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain the to-be-updated course name The word segmentation result of the course name corresponding to each of the course names corresponding to the name data set, and the course name word segmentation database is updated according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated.
  • the data update request is a recommendation request after the user preference label is updated
  • obtain the user preference label data set to be updated and use the preset user batch processing parameters to update the user preference label according to the user preference label data set to be updated.
  • library based on the data update request, obtain the course name word segmentation result from the course name word segmentation database, obtain a target course name word segmentation result set, and respectively segment each of the course names in the target course name word segmentation result set.
  • word vector generation is performed, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained;
  • the user preference label data is obtained from the user preference label library, and the target user preference label is obtained.
  • the similarity matrix is generated between the name segment word vector set and the target user preference tag word vector set to obtain the similarity matrix of the course to be updated and the preference label, and the similarity matrix is updated according to the similarity matrix of the course to be updated and the preference label library; obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the to-be-recommended Each user ID of the set of user IDs corresponds to the target course recommendation result.
  • the preset course batch processing parameters are used to segment each course name in the updated course name data set, and update the course name word segmentation database.
  • the preset user batch processing parameters are used to update the user preference label database according to the user preference label data set to be updated, and then obtain from the course name word segmentation database based on the data update request.
  • the result of the word segmentation of the course name is used to generate the word vector to obtain the word vector set of the target course name.
  • the user preference label data is obtained from the user preference label database to generate the word vector to obtain the word vector set of the target course name.
  • Name word segmentation word vector set and target user preference tag word vector set are used to generate similarity matrix to obtain the similarity matrix of courses to be updated and preference tags and update the similarity matrix library.
  • preset recommendation rules according to the similarity matrix library and courses
  • the user identification set carried in the recommendation update request is used for course recommendation, and the target course recommendation result corresponding to each user identification of the user identification set to be recommended is obtained, thereby realizing dynamic, dynamic, Deeply excavating the learning courses that users are really interested in is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and helping to mobilize the enthusiasm of users for learning.
  • the computer storage medium can be non-volatile or volatile.
  • Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Abstract

Provided are a course recommendation method and apparatus, a device, and a storage medium. The method comprises: performing word segmentation on a course name data set to be updated, and updating a course name segmentation library; according to a user preference label data set to be updated, updating a user preference label library; on the basis of a data update request, obtaining a course name segmentation result from a course name segmentation library and generating a word vector to obtain a target course name segmentation word vector set, and obtaining user preference label data from the user preference label library and generating a word vector to obtain a target user preference label word vector set; according to the target course name segmentation word vector set and the target user preference label word vector set, generating a similarity matrix and updating a similarity matrix library; and according to the similarity matrix library, obtaining a target course recommendation result corresponding to each user identifier. After the course and/or the user preference label is updated, dynamic and in-depth mining of a learning course of real interest to the user is achieved.

Description

课程推荐方法、装置、设备及存储介质Course recommendation method, device, equipment and storage medium
本申请要求于2020年12月30日提交中国专利局、申请号为2020116094875,发明名称为“课程推荐方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 2020116094875 and the invention titled "Course Recommendation Method, Apparatus, Equipment and Storage Medium", which was filed with the China Patent Office on December 30, 2020, the entire contents of which are incorporated by reference in in this application.
技术领域technical field
本申请涉及到人工智能技术领域,特别是涉及到一种课程推荐方法、装置、设备及存储介质。The present application relates to the field of artificial intelligence technology, and in particular, to a course recommendation method, apparatus, device and storage medium.
背景技术Background technique
现阶段的在线授课平台不具有为用户智能推荐学习课程的功能,用户只是单调地学习平台系统管理员在后台手动推送的课程,发明人意识到这种推荐方式使员工处于被动,难以找到自己感兴趣的课程,无法调动用户的学习积极性。The current online teaching platform does not have the function of intelligently recommending learning courses for users. Users only monotonically study the courses manually pushed by the platform system administrator in the background. The inventor realizes that this recommendation method makes employees passive and difficult to find their own feelings. Interesting courses cannot mobilize users' enthusiasm for learning.
技术问题technical problem
旨在解决现有技术的在线授课平台的用户只能是单调地学习平台系统管理员在后台手动推送的课程,无法调动用户学习积极性的技术问题。The purpose is to solve the technical problem that users of the existing online teaching platform can only monotonically study the courses manually pushed by the platform system administrator in the background, and cannot mobilize users' enthusiasm for learning.
技术解决方案technical solutions
本申请的主要目的为提供一种课程推荐方法、装置、设备及存储介质,旨在解决现有技术的在线授课平台的用户只能是单调地学习平台系统管理员在后台手动推送的课程,无法调动用户学习积极性的技术问题。The main purpose of this application is to provide a course recommendation method, device, equipment and storage medium, which aims to solve the problem that users of the existing online teaching platform can only monotonically study the courses manually pushed by the platform system administrator in the background, and cannot Technical issues to mobilize users' enthusiasm for learning.
为了实现上述发明目的,本申请提出一种课程推荐方法,所述方法包括:In order to achieve the above purpose of the invention, the present application proposes a course recommendation method, which includes:
获取数据更新请求;Get data update request;
当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained. Matrix update similarity matrix library;
基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
本申请还提出了一种课程推荐装置,所述装置包括:The present application also proposes a course recommendation device, which includes:
请求获取模块,用于获取数据更新请求;The request acquisition module is used to acquire data update requests;
课程名称分词库更新模块,用于当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;The course name word segmentation database update module is used to obtain the data set of the course name to be updated when the data update request is a recommendation request after the course update, and use the preset course batch processing parameters to respectively update the course name to be updated. Perform word segmentation for each course name in the data set, and obtain the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated. The word segmentation result of the course name corresponding to each name updates the course name word segmentation database;
用户喜好标签库更新模块,用于当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;The user preference tag library update module is used to obtain the user preference tag data set to be updated when the data update request is a recommendation request after the user preference tag is updated, and use preset user batch processing parameters according to the user preference tag to be updated. The preference tag dataset updates the user preference tag library;
目标课程名称分词词向量集确定模块,用于基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;The target course name word segmentation word vector set determination module is used to obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain the target course name word segmentation result set, respectively for the target course name. The word vector generation is performed on each of the course name word segmentation results in the word segmentation result set, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained;
目标用户喜好标签词向量集确定模块,用于基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;The target user preference tag word vector set determination module is configured to obtain user preference tag data from the user preference tag library based on the data update request, and obtain a target user preference tag data set, and respectively analyze the target user preference tag data set in the target user preference tag data set. Perform word vector generation on each of the user preference tag data to obtain a target user preference tag word vector set corresponding to the target user preference tag data set;
相似度矩阵生成模块,用于根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix generation module is used to generate the similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set, and obtain the similarity matrix of the course to be updated and the preference tag, according to the to-be-updated course and preference tag similarity matrix. Updated course and preference label similarity matrix Update similarity matrix library;
课程推荐模块,用于基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。A course recommendation module, configured to obtain a course recommendation update request based on the data update request, and use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain Each user identifier of the user identifier set to be recommended corresponds to a target course recommendation result.
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现如下方法步骤:The present application also proposes a computer device, comprising a memory and a processor, wherein the memory stores a computer program, wherein the processor implements the following method steps when executing the computer program:
获取数据更新请求;Get data update request;
当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标 用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained. Matrix update similarity matrix library;
基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如下方法步骤:The present application also proposes a computer-readable storage medium on which a computer program is stored, wherein when the computer program is executed by a processor, the following method steps are implemented:
获取数据更新请求;Get data update request;
当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained. Matrix update similarity matrix library;
基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
有益效果beneficial effect
本申请的课程推荐方法、装置、设备及存储介质,首先通过当数据更新请求是课程更新后的推荐请求时采用预设课程批量处理参数分别对待更新的课程名称数据集中每个课程名称进行分词并更新课程名称分词库,当数据更新请求是用户喜好标签更新后的推荐请求时采用预设用户批量处理参数根据待更新的用户喜好标签数据集更新用户喜好标签库,其次通过基于数据更新请求从课程名称分词库中获取课程名称分词结果进行词向量生成得到目标课程名称分词词向量集,基于数据更新请求从用户喜好标签库中获取用户喜好标签数据进行词向量生成得到目标课程名称分词词向量集,然后通过根据目标课程名称分词词向量集和目标用户喜好标签词向量集进行相似度矩阵生成得到待更新的课程与喜好标签相似度矩阵并更新相似度矩阵库,最后通过采用预设推荐规则根据相似度矩阵库和课程推荐更新请求携带的用户标识集进行课程推荐,得到所述待推荐的用户标识 集的各个用户标识各自对应的目标课程推荐结果,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In the course recommendation method, device, device and storage medium of the present application, firstly, when the data update request is a recommendation request after course update, using the preset course batch processing parameters to separately perform word segmentation for each course name in the course name data set to be updated and analyze Update the course name thesaurus database. When the data update request is a recommendation request after the user preference label is updated, the preset user batch processing parameters are used to update the user preference label database according to the user preference label data set to be updated. Obtain the result of the course name word segmentation from the course name word segmentation database and generate the word vector to obtain the target course name word segmentation word vector set. Based on the data update request, obtain the user preference label data from the user preference label database and generate the word vector to obtain the target course name word segmentation word vector Then, the similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set to obtain the similarity matrix of the course to be updated and the preference label, and the similarity matrix library is updated. Finally, by adopting the preset recommendation rules Recommend courses according to the similarity matrix library and the user identification set carried in the course recommendation update request, and obtain the target course recommendation results corresponding to each user identification of the user identification set to be recommended. After the tag is updated, it realizes dynamic and in-depth mining of learning courses that users are really interested in, which is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and mobilizing users' enthusiasm for learning.
附图说明Description of drawings
图1为本申请一实施例的课程推荐方法的流程示意图;1 is a schematic flowchart of a course recommendation method according to an embodiment of the application;
图2为本申请一实施例的课程推荐装置的结构示意框图;FIG. 2 is a schematic block diagram of the structure of a course recommendation apparatus according to an embodiment of the application;
图3为本申请一实施例的计算机设备的结构示意框图。FIG. 3 is a schematic structural block diagram of a computer device according to an embodiment of the present application.
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization, functional features and advantages of the present application will be further described with reference to the accompanying drawings in conjunction with the embodiments.
本本发明的实施方式Embodiments of the present invention
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application will be described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application.
为了解决现有技术的在线授课平台的用户只能是单调地学习平台系统管理员在后台手动推送的课程,无法调动用户学习积极性的技术问题,本申请提出了一种课程推荐方法,所述方法应用于人工智能技术领域。所述课程推荐方法在课程更新后对更新的课程名称进行分词后更新课程名称分词库,在用户喜好标签更新后根据待更新的用户喜好标签数据集更新用户喜好标签库,根据更新的类型(也就是课程更新、用户喜好标签更新)获取课程名称分词结果和用户喜好标签数据,分别进行词向量生成,根据词向量生成结果相似度矩阵生成,根据相似度矩阵进行课程推荐,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In order to solve the technical problem that the users of the online teaching platform in the prior art can only monotonically study the courses manually pushed by the platform system administrator in the background and cannot mobilize the users' enthusiasm for learning, the present application proposes a course recommendation method. Applied in the field of artificial intelligence technology. The course recommendation method updates the course name word segmentation database after the updated course name is segmented after the course update, updates the user preference label database according to the user preference label data set to be updated after the user preference label is updated, and according to the updated type ( That is, course update, user preference label update) to obtain the word segmentation result of the course name and the user preference label data, respectively generate the word vector, generate a similarity matrix according to the word vector generation result, and perform course recommendation according to the similarity matrix, so that after the course update And/or the user preference tag is updated to realize dynamic and in-depth mining of the learning courses that the user is really interested in, which is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and helping to mobilize the enthusiasm of users for learning.
参照图1,本申请实施例中提供一种课程推荐方法,所述方法包括:Referring to FIG. 1, an embodiment of the present application provides a course recommendation method, the method includes:
S1:获取数据更新请求;S1: Get data update request;
S2:当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;S2: When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use preset course batch processing parameters to segment each course name in the to-be-updated course name data set. , to obtain the course name word segmentation results corresponding to each of the course names corresponding to the course name data set to be updated, and according to the course name corresponding to each of the course names corresponding to the to-be-updated course name data set. The word segmentation results update the course name word segmentation database;
S3:当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;S3: When the data update request is a recommendation request after the user preference label is updated, obtain the user preference label data set to be updated, and update the user preference according to the user preference label data set to be updated using preset user batch processing parameters tag library;
S4:基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;S4: Obtain the course name word segmentation result from the course name word segmentation database based on the data update request, obtain a target course name word segmentation result set, and separately perform word segmentation for each course name in the target course name word segmentation result set As a result, word vector generation is performed to obtain the target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
S5:基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;S5: Acquire user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform a word analysis on each of the user preference tag data in the target user preference tag data set. vector generation, to obtain the target user preference tag word vector set corresponding to the target user preference tag data set;
S6:根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;S6: Generate a similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set to obtain a similarity matrix between the courses to be updated and the preference labels, and according to the to-be-updated courses and preference labels The similarity matrix updates the similarity matrix library;
S7:基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。S7: Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the to-be-recommended course recommendation Each user ID of the set of user IDs corresponds to the target course recommendation result.
本实施例首先通过当数据更新请求是课程更新后的推荐请求时采用预设课程批量处理参数分别对待更新的课程名称数据集中每个课程名称进行分词并更新课程名称分词库,当数据更新请求是用户喜好标签更新后的推荐请求时采用预设用户批量处理参数根据待更新的用户喜好标签数据集更新用户喜好标签库,其次通过基于数据更新请求从课程名称分词库中获取课程名称分词结果进行词向量生成得到目标课程名称分词词向量集,基于数据更新请求从用户喜好标签库中获取用户喜好标签数据进行词向量生成得到目标课程名称分词词向量集,然后通过根据目标课程名称分词词向量集和目标用户喜好标签词向量集进行相似度矩阵生成得到待更新的课程与喜好标签相似度矩阵并更新相似度矩阵库,最后通过采用预设推荐规则根据相似度矩阵库和课程推荐更新请求携带的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In this embodiment, when the data update request is a recommendation request after course update, the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database. When the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request. Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name. Set and target user preference tag word vector set to generate similarity matrix to obtain the similarity matrix of courses and preference tags to be updated and update the similarity matrix library, and finally adopt preset recommendation rules according to similarity matrix library and course recommendation update request carry The user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated. Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
对于S1,可以获取用户输入的数据更新请求,也可以是获取第三方应用系统发送的数据更新请求(比如,使用Apache Spark Streaming技术获取Kafka消息中间件发送的数据更新请求),还可以是实现本申请的程序文件触发的数据更新请求。For S1, it can obtain the data update request input by the user, or obtain the data update request sent by the third-party application system (for example, use the Apache Spark Streaming technology to obtain the data update request sent by the Kafka message middleware), or realize this Data update request triggered by the applied program file.
Kafka,是高吞吐量的分布式发布订阅消息系统。Kafka is a high-throughput distributed publish-subscribe messaging system.
数据更新请求包括:课程更新后的推荐请求、用户喜好标签更新后的推荐请求。The data update request includes: recommendation request after course update and recommendation request after user preference tag update.
课程更新后的推荐请求,是指在课程名称更新后进行课程推荐的请求。The recommendation request after course update refers to the request for course recommendation after the course name is updated.
用户喜好标签更新后的推荐请求,是指在用户喜好标签更新后进行课程推荐的请求。The recommendation request after the user preference tag is updated refers to a request for course recommendation after the user preference tag is updated.
对于S2,当所述数据更新请求是课程更新后的推荐请求时,可以获取用户输入的待更新的课程名称数据集,也可以获取第三方应用系统(比如,Kafka消息中间件)发送的待更新的课程名称数据集。For S2, when the data update request is a recommendation request after course update, the data set of the course name input by the user to be updated can be obtained, or the data set to be updated sent by a third-party application system (for example, Kafka message middleware) can be obtained. The course name dataset.
待更新的课程名称数据集中包括:课程名称标识、课程名称、需要新增的课程名称数据、需要删除的课程名称数据,每个课程名称标识对应一个课程名称,每个课程名称标识对应一个需要新增的课程名称数据和/或一个需要删除的课程名称数据。The course name data set to be updated includes: course name identifiers, course names, course name data to be added, and course name data to be deleted, each course name identifier corresponds to a course name, and each course name identifier corresponds to a new course name Added course title data and/or a course title data that needs to be deleted.
课程名称分词库包括:课程名称标识、课程名称分词结果,每个课程名称标识对应一个课程名称分词结果。每个所述课程名称分词结果中包括至少一个词语。The course name word segmentation database includes: course name identification, course name word segmentation results, each course name identification corresponds to a course name word segmentation result. Each of the course title word segmentation results includes at least one word.
可选的,课程名称分词库存储在本地数据库中。Optionally, the course name thesaurus is stored in the local database.
预设课程批量处理参数包括:批处理间隔数据、块间隔数据、滑动窗口大小、滑动间隔数据。The preset course batch processing parameters include: batch interval data, block interval data, sliding window size, and sliding interval data.
所述滑动窗口大小,是指滑动窗口的尺寸。The sliding window size refers to the size of the sliding window.
所述滑动间隔数据,是指滑动窗口的时间间隔。The sliding interval data refers to the time interval of the sliding window.
比如,每台计算机的CPU核心数量为10,则将批处理间隔数据设置为2S,块间隔数据设置为200ms,这样每个批次对应的任务数量为10个(也就是批处 理间隔数据设置的2S除以块间隔数据设置200ms),从而充分利用每个CPU核心,不损失计算机的计算性能,在此举例不做具体限定。For example, if the number of CPU cores of each computer is 10, then the batch interval data is set to 2S, and the block interval data is set to 200ms, so that the number of tasks corresponding to each batch is 10 (that is, the batch interval data set 2S divided by the block interval data setting 200ms), so as to make full use of each CPU core without losing the computing performance of the computer, which is not specifically limited in this example.
其中,滑动窗口大小和滑动间隔数据设置为批处理间隔数据的整数倍。整数倍包括但不限于:1倍、2倍、3倍、4倍、5倍。Among them, the sliding window size and the sliding interval data are set as integer multiples of the batch interval data. Integer multiples include but are not limited to: 1 times, 2 times, 3 times, 4 times, and 5 times.
其中,采用分词工具根据预设课程批量处理参数分别对所述待更新的课程名称数据集中的需要新增的课程名称数据中的每个课程名称进行分词,将一个课程名称分词得到的所有词语作为一个课程名称分词结果,将所有课程名称分词结果添加到课程名称分词库中;将所述待更新的课程名称数据集的需要删除的课程名称数据直接从课程名称分词库中删除。Wherein, the word segmentation tool is used to segment each course name in the course name data to be added in the to-be-updated course name data set according to the preset course batch processing parameters, and all the words obtained by word segmentation of a course name are used as A course name word segmentation result, adding all the course name word segmentation results to the course name word segmentation database; directly deleting the course name data that needs to be deleted in the to-be-updated course name data set from the course name word segmentation database.
对于S3,当所述数据更新请求是用户喜好标签更新后的推荐请求时,可以获取用户输入的待更新的用户喜好标签数据集,也可以从第三方软件系统中获取待更新的用户喜好标签数据集。For S3, when the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated input by the user may be obtained, or the user preference label data to be updated may be obtained from a third-party software system set.
可选的,标签分词库存储在本地数据库中。Optionally, the tag word segmentation library is stored in the local database.
待更新的用户喜好标签数据集包括:用户标识、需要增加的喜好标签、需要删除的喜好标签。用户标识可以是用户名称、用户ID等唯一标识一个用户的标识。The user preference tag data set to be updated includes: user identification, preference tags to be added, and preference tags to be deleted. The user identifier may be an identifier that uniquely identifies a user, such as a user name, a user ID, or the like.
标签分词库包括:用户标识、用户喜好标签数据,每个用户标识对应一个用户喜好标签数据。用户喜好标签数据包括一个或多个喜好标签。每个用户喜好标签数据对应一个用户。The tag word segmentation library includes: user IDs and user preference tag data, each user ID corresponds to a user preference tag data. User preference tag data includes one or more preference tags. Each user preference tag data corresponds to one user.
预设用户批量处理参数包括:批处理间隔数据、块间隔数据、滑动窗口大小、滑动间隔数据。The preset user batch processing parameters include: batch interval data, block interval data, sliding window size, and sliding interval data.
其中,采用预设用户批量处理参数将所述待更新的用户喜好标签数据集的需要增加的喜好标签添加用户喜好标签库中,将所述待更新的用户喜好标签数据集的需要删除的喜好标签从用户喜好标签库中删除。Wherein, using preset user batch processing parameters to add preference labels to be added in the user preference label data set to be updated to the user preference label database, and add preference labels to be deleted in the user preference label data set to be updated Removed from user preference tag library.
对于S4,当所述数据更新请求是课程更新后的推荐请求时从所述课程名称分词库中获取此次更新的课程名称分词结果,当所述数据更新请求是用户喜好标签更新后的推荐请求时从所述课程名称分词库中获取所有课程名称分词结果,将获取的所有的课程名称分词结果作为目标课程名称分词结果集;分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,将生成的所有词向量作为所述目标课程名称分词结果集对应的目标课程名称分词词向量集。也就是说,每个所述课程名称分词结果对应一个课程名称分词词向量,每个课程名称分词词向量对应一个所述课程名称。For S4, when the data update request is a recommendation request after course update, the word segmentation result of the updated course name is obtained from the course name word segmentation database, and when the data update request is a recommendation after the user preference tag is updated Obtain all course name word segmentation results from the course name word segmentation database when requesting, and use all the obtained course name word segmentation results as the target course name word segmentation result set; respectively, for each of the courses in the target course name word segmentation result set The name word segmentation result is used to generate word vectors, and all the generated word vectors are used as the target course name word segmentation word vector set corresponding to the target course name word segmentation result set. That is to say, each of the course title word segmentation results corresponds to a course title word segmentation word vector, and each course name word segmentation word vector corresponds to one of the course names.
对于S5,当所述数据更新请求是课程更新后的推荐请求时从所述用户喜好标签库中获取所有用户喜好标签数据,当所述数据更新请求是用户喜好标签更新后的推荐请求时从所述用户喜好标签库中获取此次更新的用户喜好标签数据,将获取的所有用户喜好标签数据作为目标用户喜好标签数据集;分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,将生成的所有词向量作为所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集。也就是说,每个用户喜好标签数据对应一个用户喜好标签词向量,每个用户喜好标签词向量对应一个用户。For S5, when the data update request is a recommendation request after course update, obtain all user preference label data from the user preference label library, and when the data update request is a recommendation request after user preference label update, from all user preference labels Obtain the updated user preference label data from the user preference label database, and use all the obtained user preference label data as the target user preference label data set; respectively, for each of the user preference label data in the target user preference label data set Perform word vector generation, and use all the generated word vectors as the target user preference label word vector set corresponding to the target user preference label data set. That is to say, each user preference label data corresponds to a user preference label word vector, and each user preference label word vector corresponds to a user.
对于S6,对所述目标课程名称分词词向量集中每个课程名称分词词向量与所述目标用户喜好标签词向量集中每个用户喜好标签词向量进行相似度矩阵生成,将生成的相似度矩阵作为待更新的课程与喜好标签相似度矩阵。For S6, a similarity matrix is generated for each course name word vector in the target course name word segmentation word vector set and each user preference label word vector in the target user preference label word vector set, and the generated similarity matrix is used as The similarity matrix of courses to be updated and preference labels.
其中,待更新的课程与喜好标签相似度矩阵的每个元素代表一个课程名称分 词词向量和一个用户喜好标签词向量的相似度。待更新的课程与喜好标签相似度矩阵的行对应课程名称分词词向量和列对应用户喜好标签词向量,或者,待更新的课程与喜好标签相似度矩阵的列对应课程名称分词词向量和行对应用户喜好标签词向量。Among them, each element of the similarity matrix of the course to be updated and the preference label represents the similarity between a word vector of a course name and a word vector of a user preference label. The row of the similarity matrix between the course to be updated and the preference label corresponds to the word vector of the course name, and the column corresponds to the word vector of the user's preference label, or the column of the similarity matrix of the course to be updated and the preference label corresponds to the word vector of the course name and the row. User preference tag word vector.
可选的,采用余弦相似度算法计算所述目标课程名称分词词向量集中每个课程名称分词词向量与所述目标用户喜好标签词向量集中每个用户喜好标签词向量的余弦相似度,得到待更新的课程与喜好标签相似度矩阵。也就是说,待更新的课程与喜好标签相似度矩阵中的元素是余弦相似度。Optionally, a cosine similarity algorithm is used to calculate the cosine similarity of each course name word vector in the target course name word segmentation word vector set and each user preference label word vector in the target user preference label word vector set, to obtain the cosine similarity. Updated course and preference label similarity matrix. That is to say, the element in the similarity matrix of the course to be updated and the preference label is the cosine similarity.
所述相似度矩阵库包括:用户标识、课程与喜好标签相似度矩阵,每个用户标识对应一个课程与喜好标签相似度矩阵。The similarity matrix library includes: user IDs, course and preference tag similarity matrix, and each user ID corresponds to a course and preference tag similarity matrix.
可以理解的是,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库中的更新操作包括但不限于:覆盖、添加、部分覆盖、部分删除、部分覆盖与部分删除。It can be understood that, updating operations in the similarity matrix library according to the similarity matrix of the courses to be updated and preference tags includes but not limited to: covering, adding, partial covering, partial deletion, partial covering and partial deletion.
可选的,所述相似度矩阵库存在本地Hbase数据库中。Optionally, the similarity matrix library is stored in a local Hbase database.
对于S7,可以基于所述数据更新请求获取管理人员发送的课程推荐更新请求,也可以是实现本申请的程序文件收到更新相似度矩阵库的结束信号之后基于所述数据更新请求生成的课程推荐更新请求,还可以是实现本申请的程序文件按预设的推荐间隔生成的课程推荐更新请求。For S7, the course recommendation update request sent by the administrator can be obtained based on the data update request, or the course recommendation generated based on the data update request after the program file implementing the present application receives the end signal for updating the similarity matrix library The update request may also be a course recommendation update request generated by the program files of the present application at preset recommendation intervals.
课程推荐更新请求,是指对用户进行课程推荐的请求。A course recommendation update request refers to a request for recommending courses to users.
其中,所述实现本申请的程序文件收到更新相似度矩阵库的结束信号之后基于所述数据更新请求生成的课程推荐更新请求的步骤,包括:当所述数据更新请求是课程更新后的推荐请求时,获取预设的用户标识集,将预设的用户标识集作为所述课程推荐更新请求携带的所述待推荐的用户标识集;当所述数据更新请求是用户喜好标签更新后的推荐请求时,将待更新的用户喜好标签数据集对应的所有用户标识作为所述课程推荐更新请求携带的待推荐的用户标识集。Wherein, the step of generating a course recommendation update request based on the data update request after the program file implementing the present application receives an end signal for updating the similarity matrix library includes: when the data update request is a recommendation after course update When requesting, obtain a preset user identification set, and use the preset user identification set as the user identification set to be recommended carried in the course recommendation update request; when the data update request is a recommendation after the user preference tag is updated When requested, all user identifiers corresponding to the user preference tag data set to be updated are used as the user identifier set to be recommended carried in the course recommendation update request.
待推荐的用户标识集,也就是需要进行课程推荐的用户的用户标识的集合。待推荐的用户标识集中包括至少一个用户标识。The set of user IDs to be recommended, that is, the set of user IDs of users who need to recommend courses. The user identification set to be recommended includes at least one user identification.
其中,将所述课程推荐更新请求携带的待推荐的用户标识集从所述相似度矩阵库中进行查找,得到待推荐的用户标识集的各个用户标识各自对应的课程与喜好标签相似度矩阵;采用预设推荐规则根据待推荐的用户标识集的各个用户标识各自对应的课程与喜好标签相似度矩阵进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Wherein, searching the user identification set to be recommended carried in the course recommendation update request from the similarity matrix library to obtain the similarity matrix of courses and preference tags corresponding to each user identification of the user identification set to be recommended; Use preset recommendation rules to recommend courses according to the similarity matrix of courses and preference tags corresponding to each user ID of the user ID set to be recommended, and obtain the target course recommendation result corresponding to each user ID of the user ID set to be recommended. .
预设推荐规则包括但不限于:相似度大于预设相似度阈值。The preset recommendation rules include but are not limited to: the similarity is greater than the preset similarity threshold.
目标课程推荐结果包括:用户标识、课程名称集,其中,每个用户标识对应一个课程名称集。The target course recommendation result includes: a user ID and a set of course names, wherein each user ID corresponds to a set of course names.
目标课程推荐结果中的课程名称集,是目标课程推荐结果中的用户标识对应的用户真正感兴趣的课程的课程名称集合。The set of course names in the target course recommendation result is a set of course names of courses that the user is really interested in corresponding to the user ID in the target course recommendation result.
在一个实施例中,上述获取数据更新请求的步骤,包括:In one embodiment, the above-mentioned step of obtaining a data update request includes:
S11:获取Kafka消息中间件发送的数据更新通知;S11: Obtain the data update notification sent by the Kafka message middleware;
S12:当所述数据更新通知为课程名称更新通知时,生成所述数据更新请求的所述课程更新后的推荐请求;S12: when the data update notification is a course name update notification, generate a recommended request after the course update of the data update request;
S13:当所述数据更新通知为用户喜好标签更新通知时,生成所述数据更新请求的所述用户喜好标签更新后的推荐请求。S13: When the data update notification is a user preference tag update notification, generate a recommendation request after the user preference tag of the data update request is updated.
本实施例实现了从Kafka消息中间件获取数据更新通知,根据数据更新通知生成所述数据更新请求,从而使本申请适用于分布式应用场景;通过Kafka消息中间件有利于对需要更新的课程名称和需要更新的用户喜好标签的有效管理。In this embodiment, the data update notification is obtained from the Kafka message middleware, and the data update request is generated according to the data update notification, so that the present application is suitable for distributed application scenarios; the Kafka message middleware is beneficial for updating the course names that need to be updated. and efficient management of user preference tags that need to be updated.
对于S11,使用Apache Spark Streaming技术获取Kafka消息中间件发送的数据更新通知。For S11, use Apache Spark Streaming technology to obtain data update notifications sent by Kafka message middleware.
数据更新通知,是指对课程名称和/或用户喜好标签进行更新的通知。Data update notifications are notifications of updates to course names and/or user preference tags.
对于S12,当所述数据更新通知为课程名称更新通知时,意味着此时需要更新课程名称,因此生成所述课程更新后的推荐请求。For S12, when the data update notification is a course name update notification, it means that the course name needs to be updated at this time, so a recommendation request after the course update is generated.
对于S13,当所述数据更新通知为用户喜好标签更新通知时,意味着此时需要更新用户的喜好标签,因此生成所述用户喜好标签更新后的推荐请求。For S13, when the data update notification is a user preference tag update notification, it means that the user's preference tag needs to be updated at this time, so a recommendation request after the user preference tag is updated is generated.
在一个实施例中,上述采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库的步骤,包括:In one embodiment, the preset batch processing parameters are used to perform word segmentation on each course name in the to-be-updated course-name data set, to obtain each of the course names corresponding to the to-be-updated course name data set. Corresponding course title word segmentation results, the step of updating the course name word segmentation database according to the course name word segmentation results corresponding to each of the course names corresponding to the to-be-updated course name data sets, including:
S21:获取所述预设课程批量处理参数;S21: Obtain the preset course batch processing parameters;
S22:当所述待更新的课程名称数据集中包括需要删除的课程名称数据时,根据所述需要删除的课程名称数据对所述课程名称分词库进行删除处理;S22: when the to-be-updated course title data set includes course title data that needs to be deleted, delete the course title thesaurus according to the course title data to be deleted;
S23:当所述待更新的课程名称数据集中包括需要新增的课程名称数据时,采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果,将所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果存储在所述课程名称分词库中。S23: When the to-be-updated course title data set includes course title data that needs to be added, use the preset course batch processing parameters to perform a separate processing on each of the course names in the course title data to be added. word segmentation, obtain the word segmentation results of the course names corresponding to each of the course names in the course name data to be added, and divide the courses corresponding to each of the course names in the course name data to be added. The name segmentation result is stored in the course name segmentation database.
本实施例实现了对待更新的课程名称数据集中每个课程名称进行分词后更新课程名称分词库,为后续进行相似度矩阵生成提供了数据基础;而且将分词结果更新到课程名称分词库,有利于重复利用,提高了生成相似度矩阵的效率。This embodiment realizes that each course name in the to-be-updated course name data set is word-segmented and then the course name word segmentation database is updated, which provides a data basis for subsequent similarity matrix generation; and the word segmentation result is updated to the course name word segmentation database, It is beneficial to reuse and improves the efficiency of generating the similarity matrix.
对于S21,可以获取用户输入的所述预设课程批量处理参数,也可以从数据库中获取所述预设课程批量处理参数,还可以是第三方应用系统发送的所述预设课程批量处理参数。可以理解的是,还可以将所述预设课程批量处理参数写入实现本申请的程序文件中。For S21, the preset course batch processing parameters input by the user may be obtained, the preset course batch processing parameters may also be obtained from a database, or the preset course batch processing parameters sent by a third-party application system. It can be understood that, the preset course batch processing parameters can also be written into a program file for realizing the present application.
对于S22,当所述待更新的课程名称数据集中包括需要删除的课程名称数据时,意味着需要删除的课程名称数据对应的课程不再提供服务,此时需要将需要删除的课程名称数据从所述课程名称分词库进行删除处理,从而避免出现推荐给用户的课程无法学习的情况,提高了用户满意度。For S22, when the to-be-updated course title data set includes the course title data that needs to be deleted, it means that the course corresponding to the course title data to be deleted no longer provides services, and at this time, the course title data to be deleted needs to be deleted from all The above-mentioned course name thesaurus is deleted, so as to avoid the situation that the courses recommended to users cannot be learned, and improve the user satisfaction.
对于S23,当所述待更新的课程名称数据集中包括需要新增的课程名称数据时,意味着需要新增的课程名称数据对应的课程需要上线提供服务,此时采用分词工具按所述预设课程批量处理参数用滑动窗口的方式分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,将一个课程名称分词得到的词语集合作为一个所述课程名称分词结果。For S23, when the to-be-updated course name data set includes the course name data that needs to be added, it means that the course corresponding to the new course name data needs to be online to provide services, and the word segmentation tool is used according to the preset The course batch processing parameter uses a sliding window to segment each of the course names in the to-be-added course name data, and uses a set of words obtained by segmenting a course name as a result of the course name segmentation.
可选的,所述分词工具选择结巴中文分词工具。可以理解的是,所述分词工具还可以从现有技术中选择其它的工具,在此不做具体限定。Optionally, the word segmentation tool selects the Chinese word segmentation tool of Jaba. It can be understood that, the word segmentation tool can also select other tools from the prior art, which is not specifically limited here.
结巴中文分词工具,也成为jieba中文分词工具,结巴中文分词工具基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无 环图(DAG),并使用动态规划算法查找最大概率的路径,找出基于词频的最大切分组合,本申请中采用“结巴”分词中的精确模式以取得最精确的分词结果。Jieba Chinese word segmentation tool has also become jieba Chinese word segmentation tool. Jieba Chinese word segmentation tool realizes efficient word graph scanning based on prefix dictionary, generates a directed acyclic graph (DAG) composed of all possible word formations of Chinese characters in a sentence, and uses dynamic The planning algorithm finds the path with the maximum probability, and finds the maximum segmentation combination based on the word frequency. In this application, the precise mode in the word segmentation of "jump" is used to obtain the most accurate word segmentation result.
在一个实施例中,上述采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果的步骤之前,包括:In one embodiment, the preset batch processing parameters are used to segment each of the course names in the to-be-added course name data, to obtain each of the course names in the to-be-added course name data. Before the step of describing the result of the word segmentation of the course name corresponding to each of the course names, include:
S0231:获取批次处理时长监控结果和所述预设课程批量处理参数;S0231: Obtain batch processing duration monitoring results and the preset course batch processing parameters;
S0232:当所述批次处理时长监控结果大于所述预设课程批量处理参数的批处理间隔数据时,根据所述批次处理时长监控结果,确定待更新的课程批量处理参数;S0232: When the batch processing duration monitoring result is greater than the batch processing interval data of the preset course batch processing parameters, determine the batch processing parameters of the courses to be updated according to the batch processing duration monitoring results;
S0233:根据所述待更新的课程批量处理参数更新所述预设课程批量处理参数。S0233: Update the preset course batch processing parameters according to the to-be-updated course batch processing parameters.
本实施例实现了在采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词的步骤之前进行预设课程批量处理参数的更新,有利于根据批次处理时长监控结果调整预设课程批量处理参数,避免了出现因预设课程批量处理参数设置不合理导致待更新的课程名称数据集没有被完整更新到课程名称分词库中的问题。This embodiment realizes that the preset course batch processing parameters are updated before the step of using the preset course batch processing parameters to segment each of the course names in the to-be-added course name data respectively, which is beneficial to Adjust the batch processing parameters of the preset courses according to the monitoring results of the batch processing time, which avoids the problem that the course name dataset to be updated is not completely updated to the course name word segmentation database due to the unreasonable settings of the batch processing parameters of the preset courses.
对于S0231,可以从数据库中获取批次处理时长监控结果,也可以从缓存中获取批次处理时长监控结果。For S0231, the batch processing duration monitoring result can be obtained from the database, or the batch processing duration monitoring result can be obtained from the cache.
可以获取用户输入的所述预设课程批量处理参数,也可以从数据库中获取所述预设课程批量处理参数,还可以是第三方应用系统发送的所述预设课程批量处理参数。The preset course batch processing parameters input by the user can be obtained, the preset course batch processing parameters can also be obtained from a database, or the preset course batch processing parameters sent by a third-party application system.
对于S0232,当所述批次处理时长监控结果大于所述预设课程批量处理参数的批处理间隔数据时,意味着上批次处理时长超过预期的批处理间隔数据,此时需要调整所述预设课程批量处理参数的批处理间隔数据,避免下一批次再出现超过预期的批处理间隔数据的情况,采用预设的批处理间隔调整规则根据所述批次处理时长监控结果进行批处理间隔数据计算,将计算得到的批处理间隔数据作为待更新的课程批量处理参数的批处理间隔数据。For S0232, when the batch processing duration monitoring result is greater than the batch processing interval data of the preset course batch processing parameters, it means that the last batch processing duration exceeds the expected batch processing interval data, and the preset batch processing interval data needs to be adjusted at this time. Set the batch interval data of the batch processing parameters of the course to avoid the occurrence of more than expected batch interval data in the next batch, and use the preset batch interval adjustment rules to perform batch interval according to the batch processing duration monitoring results. Data calculation, using the calculated batch interval data as the batch interval data of the batch processing parameters of the course to be updated.
预设的批处理间隔调整规则包括但不限于:预设比例。The preset batch interval adjustment rules include but are not limited to: preset ratios.
对于S0233,将所述待更新的课程批量处理参数对所述预设课程批量处理参数进行替换。For S0233, the preset course batch processing parameters are replaced by the to-be-updated course batch processing parameters.
可以理解的是,也可以采用步骤S0231至步骤0233的方法对预设用户批量处理参数进行更新,在此不做赘述。It can be understood that, the methods of steps S0231 to 0233 can also be used to update the preset user batch processing parameters, which will not be repeated here.
在一个实施例中,上述根据所述批次处理时长监控结果,确定待更新的课程批量处理参数的步骤,包括:In one embodiment, the above-mentioned step of determining the batch processing parameters of the courses to be updated according to the batch processing duration monitoring result includes:
S02331:获取CPU核心数量、块间隔数据、预设比例;S02331: Obtain the number of CPU cores, block interval data, and preset ratio;
S02332:将所述批次处理时长监控结果和所述预设比例进行相乘计算,得到所述待更新的课程批量处理参数对应的所述批处理间隔数据;S02332: Multiply the batch processing duration monitoring result and the preset ratio to obtain the batch processing interval data corresponding to the batch processing parameters of the courses to be updated;
S02333:根据所述待更新的课程批量处理参数对应的所述批处理间隔数据进行滑动窗口大小计算和滑动间隔数据计算,得到所述待更新的课程批量处理参数对应的所述滑动窗口大小和所述滑动间隔数据。S02333: Perform sliding window size calculation and sliding interval data calculation according to the batch interval data corresponding to the batch processing parameters of the courses to be updated, and obtain the size of the sliding window and the data corresponding to the batch processing parameters of the courses to be updated. the sliding interval data.
本实施例实现了根据所述批次处理时长监控结果、CPU核心数量、块间隔数据,确定待更新的课程批量处理参数,从而使计算得到的待更新的课程批量处理 参数在符合本申请的程序文件所在服务器的服务性能的情况下进行调整,从而有利于提升课程名称分词库的稳定性。This embodiment realizes that the batch processing parameters of the courses to be updated are determined according to the batch processing duration monitoring result, the number of CPU cores, and the block interval data, so that the batch processing parameters of the courses to be updated obtained through calculation are in accordance with the program of the present application. Adjustment is made under the condition of the service performance of the server where the file is located, which is beneficial to improve the stability of the course name thesaurus.
对于S02331,可以从数据库中获取CPU(中央处理器)核心数量和块间隔数据,也可以从缓存中获取CPU核心数量和块间隔数据。For S02331, the number of CPU (central processing unit) cores and block interval data can be obtained from the database, and the number of CPU cores and block interval data can also be obtained from the cache.
CPU核心数量,是指实现本申请的程序文件提供课程推荐服务时所装载的服务器的CPU的核心数量。The number of CPU cores refers to the number of CPU cores of the server loaded when the program file of the present application provides the course recommendation service.
块间隔数据,是实现本申请的程序文件提供课程推荐服务时所装载的服务器处理每个数据块的时长。The block interval data is the duration of each data block processed by the server loaded when the program file of the present application provides the course recommendation service.
可选的,预设比例的取值范围为大于0.9并且小于1.1。Optionally, the value range of the preset ratio is greater than 0.9 and less than 1.1.
对于S02332,将所述批次处理时长监控结果和所述预设比例进行相乘计算,将相乘得到的结果作为所述待更新的课程批量处理参数对应的所述批处理间隔数据。For S02332, multiply the batch processing duration monitoring result and the preset ratio, and use the multiplication result as the batch processing interval data corresponding to the batch processing parameter of the course to be updated.
对于S02333,获取第一预设倍数和第二预设倍数;将所述待更新的课程批量处理参数对应的所述批处理间隔数据与第一预设倍数相乘,得到所述待更新的课程批量处理参数对应的所述滑动窗口大小;将所述待更新的课程批量处理参数对应的所述批处理间隔数据与第二预设倍数相乘,得到所述待更新的课程批量处理参数对应的所述滑动间隔数据。For S02333, obtain a first preset multiple and a second preset multiple; multiply the batch interval data corresponding to the batch processing parameters of the courses to be updated by the first preset multiple to obtain the courses to be updated The size of the sliding window corresponding to the batch processing parameters; multiply the batch interval data corresponding to the batch processing parameters of the courses to be updated by a second preset multiple to obtain the batch processing parameters of the courses to be updated. the sliding interval data.
第一预设倍数是整数。第二预设倍数是整数。The first preset multiple is an integer. The second preset multiple is an integer.
在一个实施例中,上述采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库的步骤,包括:In one embodiment, the above-mentioned steps of using preset user batch processing parameters to update the user preference tag database according to the to-be-updated user preference tag data set include:
S31:采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据;S31: Acquire a piece of the user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters, and obtain the user preference label data to be processed;
S32:根据所述待处理的用户喜好标签数据对应的用户标识将所述待处理的用户喜好标签数据中的需要增加的喜好标签添加到所述用户喜好标签库中;S32: according to the user identification corresponding to the user preference label data to be processed, the preference label that needs to be added in the to-be-processed user preference label data is added to the user preference label library;
S33:根据所述待处理的用户喜好标签数据对应的所述用户标识将所述待处理的用户喜好标签数据中的需要删除的喜好标签从所述用户喜好标签库中进行删除;S33: according to the user identification corresponding to the to-be-processed user preference label data, delete the preference label that needs to be deleted in the to-be-processed user preference label data from the user preference label library;
S34:重复执行所述采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据的步骤,直至完成所述待更新的用户喜好标签数据集中所有所述用户喜好标签数据对所述用户喜好标签库的更新。S34: Repeat the step of obtaining a piece of user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters to obtain the user preference label data to be processed, until the completion of the The user preference label database is updated by all the user preference label data in the user preference label data set to be updated.
本实施例实现了更新用户喜好标签库,为后续进行相似度矩阵生成提供了数据基础;而且将用户喜好标签数据更新到用户喜好标签库,有利于重复利用,提高了生成相似度矩阵的效率。This embodiment implements updating the user preference tag library, which provides a data basis for subsequent similarity matrix generation; and updates the user preference tag data to the user preference tag library, which is beneficial to reuse and improves the efficiency of generating the similarity matrix.
对于S31,采用所述预设用户批量处理参数用滑动窗口的方式所述待更新的用户喜好标签数据集中提取多个用户喜好标签数据,从提取的多个用户喜好标签数据中获取一条所述用户喜好标签数据,将获取的所述用户喜好标签数据作为待处理的用户喜好标签数据。For S31, use the preset user batch processing parameters to extract a plurality of user preference label data from the user preference label data set to be updated in a sliding window manner, and obtain a piece of the user preference label data from the extracted plurality of user preference label data Favorite tag data, the acquired user favorite tag data is used as the user favorite tag data to be processed.
对于S32,采用所述待处理的用户喜好标签数据对应的用户标识在所述用户喜好标签库中进行查找,当查找成功时将在所述用户喜好标签库中查找到的用户标识作为待添加的用户标识,否则将所述待处理的用户喜好标签数据和所述待处理的用户喜好标签数据对应的用户标识添加到所述用户喜好标签库中;所述待处理的用户喜好标签数据添加到所述用户喜好标签库中待添加的用户标识对应的 用户喜好标签数据中。For S32, the user identification corresponding to the user preference tag data to be processed is used to search in the user preference tag library, and when the search is successful, the user identification found in the user preference tag library is used as the to-be-added user identification, otherwise, add the user preference tag data to be processed and the user identification corresponding to the user preference tag data to be processed into the user preference tag database; add the user preference tag data to be processed to all in the user preference label data corresponding to the user identification to be added in the user preference label library.
对于S33,可以理解的是,需要删除的喜好标签可以是一个用户喜好标签数据中的全部喜好标签,也可以是一个用户喜好标签数据中的部分喜好标签。For S33, it can be understood that the preference tags to be deleted may be all preference tags in a user preference tag data, or part of preference tags in a user preference tag data.
对于S34,重复执行步骤S31至步骤S34,直至完成所述待更新的用户喜好标签数据集中所有所述用户喜好标签数据对所述用户喜好标签库的更新。For S34, steps S31 to S34 are repeatedly executed until the user preference label database is updated with all the user preference label data in the to-be-updated user preference label data set.
在一个实施例中,上述采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果的步骤,包括:In an embodiment, the above-mentioned preset recommendation rules are used to perform course recommendation according to the similarity matrix library and the user identification set to be recommended carried in the course recommendation update request, and each user of the user identification set to be recommended is obtained. The steps to identify the respective target course recommendation results, including:
S71:将所述课程推荐更新请求携带的所述待推荐的用户标识集在所述相似度矩阵库中进行查找,得到所述待推荐的用户标识集的各个所述用户标识各自对应的课程与喜好标签相似度矩阵;S71: Search the set of user identifiers to be recommended carried in the course recommendation update request in the similarity matrix library, and obtain the respective courses and corresponding user identifiers of the user identifiers to be recommended in the set of user identifiers to be recommended. Like label similarity matrix;
S72:获取预设相似度阈值;S72: Obtain a preset similarity threshold;
S73:从所述待推荐的用户标识集中获取一个所述用户标识,作为待推荐的用户标识;S73: Acquire one of the user identifiers from the set of user identifiers to be recommended as the user identifier to be recommended;
S74:从所述待推荐的用户标识对应的所述课程与喜好标签相似度矩阵中找出大于所述预设相似度阈值的课程与喜好标签相似度,将找出的所有所述课程与喜好标签相似度对应的所有课程名称作为所述待推荐的用户标识对应的目标课程推荐结果;S74: Find out the similarity between courses and preference tags that are greater than the preset similarity threshold from the similarity matrix of the courses and preference tags corresponding to the user IDs to be recommended, and compare all the courses and preference tags found. All course names corresponding to the label similarity are used as the target course recommendation result corresponding to the user ID to be recommended;
S75:重复执行所述从所述待推荐的用户标识集中获取一个所述用户标识,作为待推荐的用户标识的步骤,直至确定所述待推荐的用户标识集的各个所述用户标识各自对应的所述目标课程推荐结果。S75: Repeat the step of obtaining one of the user IDs from the set of user IDs to be recommended as the user ID to be recommended, until it is determined that each user ID in the set of user IDs to be recommended corresponds to each user ID The target course recommendation result.
本实施例实现了根据预设相似度阈值、相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。This embodiment implements course recommendation according to the preset similarity threshold, the similarity matrix library, and the set of user identifiers to be recommended carried in the course recommendation update request, so that after the course is updated and/or the user preference tag is updated, the Dynamic and in-depth mining of the learning courses that users are really interested in is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and mobilizing users' enthusiasm for learning.
对于S71,分别将所述课程推荐更新请求携带的所述待推荐的用户标识集中的每个用户标识在所述相似度矩阵库中进行查找,得到所述待推荐的用户标识集的各个所述用户标识各自对应的课程与喜好标签相似度矩阵。For S71, search for each user identifier in the set of user identifiers to be recommended carried in the course recommendation update request in the similarity matrix library, and obtain each of the user identifiers in the set of user identifiers to be recommended. User IDs correspond to courses and preference tags similarity matrix.
对于S72,可以获取用户输入的所述预设相似度阈值,也可以从数据库中获取所述预设相似度阈值,还可以是第三方应用系统发送的所述预设相似度阈值。可以理解的是,还可以将所述预设相似度阈值写入实现本申请的程序文件中。For S72, the preset similarity threshold input by the user may be obtained, the preset similarity threshold may also be obtained from a database, or the preset similarity threshold sent by a third-party application system may be obtained. It can be understood that, the preset similarity threshold can also be written into a program file for realizing the present application.
对于S73,从所述待推荐的用户标识集中获取一个所述用户标识,将获取的所述用户标识作为待推荐的用户标识。For S73, acquire one user identifier from the set of user identifiers to be recommended, and use the acquired user identifier as the user identifier to be recommended.
对于S74,从所述待推荐的用户标识对应的所述课程与喜好标签相似度矩阵中找出大于所述预设相似度阈值的课程与喜好标签相似度,也就是预设推荐规则采用相似度大于预设相似度阈值,说明大于所述预设相似度阈值的课程与喜好标签相似度对应的所有课程名称和所述待推荐的用户标识对应的用户喜好标签数据比较相近,大于所述预设相似度阈值的课程与喜好标签相似度对应的所有课程名称各自对应的课程就是挖掘出的所述待推荐的用户标识对应的用户真正感兴趣的学习课程,因此可以将大于所述预设相似度阈值的课程与喜好标签相似度对应的所有课程名称作为所述待推荐的用户标识对应的目标课程推荐结果。For S74, find out the similarity between the course and the preference label that is greater than the preset similarity threshold from the similarity matrix of the course and the preference label corresponding to the user ID to be recommended, that is, the preset recommendation rule adopts the similarity It is greater than the preset similarity threshold, indicating that all the course names corresponding to the similarity between the courses and the preference tag and the user preference tag data corresponding to the user ID to be recommended are relatively similar, which is greater than the preset similarity threshold. The courses corresponding to the similarity threshold of the courses and all the course names corresponding to the similarity of the preference tag are the learning courses that the users corresponding to the user ID to be recommended are excavated and are really interested in, so it can be greater than the preset similarity. All the course names corresponding to the similarity between the courses of the threshold and the preference tag are used as the target course recommendation result corresponding to the user ID to be recommended.
对于S75,重复执行步骤S73至步骤S75,直至确定所述待推荐的用户标识集的各个所述用户标识各自对应的所述目标课程推荐结果。For S75, steps S73 to S75 are repeatedly performed until the target course recommendation result corresponding to each of the user identifiers in the set of user identifiers to be recommended is determined.
参照图2,本申请实施例中提供一种课程推荐装置,所述装置包括:Referring to FIG. 2, an embodiment of the present application provides a course recommendation device, the device includes:
请求获取模块100,用于获取数据更新请求;a request obtaining module 100 for obtaining a data update request;
课程名称分词库更新模块200,用于当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;The course name thesaurus updating module 200 is used to obtain the data set of the course name to be updated when the data update request is a recommendation request after the course update, and use the preset course batch processing parameters for the courses to be updated respectively. Perform word segmentation for each course name in the name data set, and obtain the word segmentation result of each course name corresponding to each of the course names corresponding to the course name data set to be updated. The word segmentation result of the said course name corresponding to each course name updates the course name word segmentation database;
用户喜好标签库更新模块300,用于当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;The user preference tag database update module 300 is configured to obtain the user preference tag data set to be updated when the data update request is a recommendation request after the user preference tag is updated, and use preset user batch processing parameters according to the to-be-updated data set. The user preference tag dataset updates the user preference tag library;
目标课程名称分词词向量集确定模块400,用于基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;The target course name word segmentation word vector set determination module 400 is used to obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain a target course name word segmentation result set, respectively. The word vector generation is performed on each of the course name word segmentation results in the name word segmentation result set, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained;
目标用户喜好标签词向量集确定模块500,用于基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;The target user preference tag word vector set determination module 500 is configured to obtain user preference tag data from the user preference tag library based on the data update request, and obtain a target user preference tag data set, and respectively determine the target user preference tag data. Collecting each of the user preference tag data to generate a word vector to obtain a target user preference tag word vector set corresponding to the target user preference tag data set;
相似度矩阵生成模块600,用于根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix generation module 600 is used to generate a similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set, and obtain the similarity matrix of the course to be updated and the preference tag, according to the Update the similarity matrix library of the similarity matrix of the course to be updated and the preference label;
课程推荐模块700,用于基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。A course recommendation module 700, configured to obtain a course recommendation update request based on the data update request, and use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, A target course recommendation result corresponding to each user ID of the user ID set to be recommended is obtained.
本实施例首先通过当数据更新请求是课程更新后的推荐请求时采用预设课程批量处理参数分别对待更新的课程名称数据集中每个课程名称进行分词并更新课程名称分词库,当数据更新请求是用户喜好标签更新后的推荐请求时采用预设用户批量处理参数根据待更新的用户喜好标签数据集更新用户喜好标签库,其次通过基于数据更新请求从课程名称分词库中获取课程名称分词结果进行词向量生成得到目标课程名称分词词向量集,基于数据更新请求从用户喜好标签库中获取用户喜好标签数据进行词向量生成得到目标课程名称分词词向量集,然后通过根据目标课程名称分词词向量集和目标用户喜好标签词向量集进行相似度矩阵生成得到待更新的课程与喜好标签相似度矩阵并更新相似度矩阵库,最后通过采用预设推荐规则根据相似度矩阵库和课程推荐更新请求携带的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In this embodiment, when the data update request is a recommendation request after course update, the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database. When the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request. Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name. Set and target user preference tag word vector set to generate similarity matrix to obtain the similarity matrix of courses and preference tags to be updated and update the similarity matrix library, and finally adopt preset recommendation rules according to similarity matrix library and course recommendation update request carry The user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated. Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理 器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存课程推荐方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种课程推荐方法。所述课程推荐方法,包括:获取数据更新请求;当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Referring to FIG. 3 , an embodiment of the present application further provides a computer device. The computer device may be a server, and its internal structure may be as shown in FIG. 3 . The computer equipment includes a processor, memory, a network interface and a database connected by a system bus. Among them, the processor of the computer design is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium, an internal memory. The nonvolatile storage medium stores an operating system, a computer program, and a database. The memory provides an environment for the execution of the operating system and computer programs in the non-volatile storage medium. The database of the computer equipment is used to store data such as course recommendation methods. The network interface of the computer device is used to communicate with an external terminal through a network connection. The computer program, when executed by the processor, implements a course recommendation method. The method for recommending courses includes: obtaining a data update request; when the data update request is a recommendation request after course update, obtaining a data set of course names to be updated, and using preset course batch processing parameters for the to-be-updated courses respectively The word segmentation is performed for each course name in the course name data set, and the word segmentation result of each course name corresponding to each of the course names corresponding to the course name data set to be updated is obtained. The course name word segmentation results corresponding to each of the course names update the course name word segmentation database; when the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and a preset The user batch processing parameters update the user preference label database according to the user preference label data set to be updated; obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain the target course name word segmentation result to generate a word vector for each of the course name word segmentation results in the target course name word segmentation result set, respectively, to obtain the target course name word segmentation word vector set corresponding to the target course name word segmentation result set; based on the data update request Obtain user preference label data from the user preference label database, obtain a target user preference label data set, and perform word vector generation on each of the user preference label data in the target user preference label data set to obtain the target user The target user preference label word vector set corresponding to the preference label data set; the similarity matrix is generated according to the target course name segmentation word vector set and the target user preference label word vector set, and the similarity between the course to be updated and the preference label is obtained. matrix, update the similarity matrix library according to the similarity matrix of the courses to be updated and the preference tags; obtain a course recommendation update request based on the data update request, and adopt preset recommendation rules according to the similarity matrix library and the course recommendation The user identification set to be recommended carried in the update request is used for course recommendation, and the target course recommendation result corresponding to each user identification of the user identification set to be recommended is obtained.
本实施例首先通过当数据更新请求是课程更新后的推荐请求时采用预设课程批量处理参数分别对待更新的课程名称数据集中每个课程名称进行分词并更新课程名称分词库,当数据更新请求是用户喜好标签更新后的推荐请求时采用预设用户批量处理参数根据待更新的用户喜好标签数据集更新用户喜好标签库,其次通过基于数据更新请求从课程名称分词库中获取课程名称分词结果进行词向量生成得到目标课程名称分词词向量集,基于数据更新请求从用户喜好标签库中获取用户喜好标签数据进行词向量生成得到目标课程名称分词词向量集,然后通过根据目标课程名称分词词向量集和目标用户喜好标签词向量集进行相似度矩阵生成得到待更新的课程与喜好标签相似度矩阵并更新相似度矩阵库,最后通过采用预设推荐规则根据相似度矩阵库和课程推荐更新请求携带的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In this embodiment, when the data update request is a recommendation request after course update, the preset course batch processing parameters are used to separate words for each course name in the updated course name data set and update the course name word segmentation database. When the data update request It is the recommendation request after the user preference label is updated, using the preset user batch processing parameters to update the user preference label database according to the user preference label data set to be updated, and then obtain the course name word segmentation result from the course name word segmentation database based on the data update request. Perform word vector generation to obtain the target course name word segmentation word vector set, obtain the user preference label data from the user preference label library based on the data update request, and perform word vector generation to obtain the target course name word segmentation word vector set, and then segment the word vector according to the target course name. Set and target user preference tag word vector set to generate similarity matrix to obtain the similarity matrix of courses and preference tags to be updated and update the similarity matrix library, and finally adopt preset recommendation rules according to similarity matrix library and course recommendation update request carry The user identification set is recommended for course recommendation, and the target course recommendation results corresponding to each user identification of the user identification set to be recommended are obtained, so that dynamic and in-depth mining is realized after the course is updated and/or the user preference tag is updated. Learning courses that users are really interested in can help improve the timeliness of course recommendation, improve the accuracy of course recommendation, and help mobilize users' enthusiasm for learning.
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种课程推荐方法,包括步骤:获取数据更新请求;当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课 程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。An embodiment of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements a course recommendation method, including the steps of: acquiring a data update request; When it is a recommendation request after course update, obtain the course name data set to be updated, use preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain the to-be-updated course name The word segmentation result of the course name corresponding to each of the course names corresponding to the name data set, and the course name word segmentation database is updated according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated. When the data update request is a recommendation request after the user preference label is updated, obtain the user preference label data set to be updated, and use the preset user batch processing parameters to update the user preference label according to the user preference label data set to be updated. library; based on the data update request, obtain the course name word segmentation result from the course name word segmentation database, obtain a target course name word segmentation result set, and respectively segment each of the course names in the target course name word segmentation result set. As a result, word vector generation is performed, and the target course name word segmentation word vector set corresponding to the target course name word segmentation result set is obtained; based on the data update request, the user preference label data is obtained from the user preference label library, and the target user preference label is obtained. data set, respectively perform word vector generation on each of the user preference label data in the target user preference label data set, and obtain the target user preference label word vector set corresponding to the target user preference label data set; according to the target curriculum The similarity matrix is generated between the name segment word vector set and the target user preference tag word vector set to obtain the similarity matrix of the course to be updated and the preference label, and the similarity matrix is updated according to the similarity matrix of the course to be updated and the preference label library; obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the to-be-recommended Each user ID of the set of user IDs corresponds to the target course recommendation result.
上述执行的课程推荐方法,首先通过当数据更新请求是课程更新后的推荐请求时采用预设课程批量处理参数分别对待更新的课程名称数据集中每个课程名称进行分词并更新课程名称分词库,当数据更新请求是用户喜好标签更新后的推荐请求时采用预设用户批量处理参数根据待更新的用户喜好标签数据集更新用户喜好标签库,其次通过基于数据更新请求从课程名称分词库中获取课程名称分词结果进行词向量生成得到目标课程名称分词词向量集,基于数据更新请求从用户喜好标签库中获取用户喜好标签数据进行词向量生成得到目标课程名称分词词向量集,然后通过根据目标课程名称分词词向量集和目标用户喜好标签词向量集进行相似度矩阵生成得到待更新的课程与喜好标签相似度矩阵并更新相似度矩阵库,最后通过采用预设推荐规则根据相似度矩阵库和课程推荐更新请求携带的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果,从而在课程更新后和/或用户喜好标签更新后实现了动态、深度的挖掘了用户真正感兴趣的学习课程,有利于提高课程推荐的及时性,提高了课程推荐的准确性,有利于调动用户学习的积极性。In the above-mentioned course recommendation method, firstly, when the data update request is a recommendation request after course update, the preset course batch processing parameters are used to segment each course name in the updated course name data set, and update the course name word segmentation database. When the data update request is a recommendation request after the user preference label is updated, the preset user batch processing parameters are used to update the user preference label database according to the user preference label data set to be updated, and then obtain from the course name word segmentation database based on the data update request. The result of the word segmentation of the course name is used to generate the word vector to obtain the word vector set of the target course name. Based on the data update request, the user preference label data is obtained from the user preference label database to generate the word vector to obtain the word vector set of the target course name. Name word segmentation word vector set and target user preference tag word vector set are used to generate similarity matrix to obtain the similarity matrix of courses to be updated and preference tags and update the similarity matrix library. Finally, by using preset recommendation rules, according to the similarity matrix library and courses The user identification set carried in the recommendation update request is used for course recommendation, and the target course recommendation result corresponding to each user identification of the user identification set to be recommended is obtained, thereby realizing dynamic, dynamic, Deeply excavating the learning courses that users are really interested in is conducive to improving the timeliness of course recommendation, improving the accuracy of course recommendation, and helping to mobilize the enthusiasm of users for learning.
所述计算机存储介质可以是非易失性,也可以是易失性。The computer storage medium can be non-volatile or volatile.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总 线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage In the medium, when the computer program is executed, it may include the processes of the above-mentioned method embodiments. Wherein, any reference to memory, storage, database or other medium provided in this application and used in the embodiments may include non-volatile and/or volatile memory. Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double-rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。It should be noted that, herein, the terms "comprising", "comprising" or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, device, article or method comprising a series of elements includes not only those elements, It also includes other elements not expressly listed or inherent to such a process, apparatus, article or method. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, apparatus, article, or method that includes the element.
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。The above are only the preferred embodiments of the present application, and are not intended to limit the scope of the patent of the present application. Any equivalent structure or equivalent process transformation made by using the contents of the description and drawings of the present application, or directly or indirectly applied to other related The technical field is similarly included in the scope of patent protection of this application.

Claims (20)

  1. 一种课程推荐方法,其中,所述方法包括:A course recommendation method, wherein the method includes:
    获取数据更新请求;Get data update request;
    当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
    当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
    基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed generating a word vector, obtaining a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
    基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference label word vector set corresponding to the target user preference label data set;
    根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained. Matrix update similarity matrix library;
    基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
  2. 根据权利要求1所述的课程推荐方法,其中,所述获取数据更新请求的步骤,包括:The course recommendation method according to claim 1, wherein the step of acquiring the data update request comprises:
    获取Kafka消息中间件发送的数据更新通知;Get the data update notification sent by the Kafka message middleware;
    当所述数据更新通知为课程名称更新通知时,生成所述数据更新请求的所述课程更新后的推荐请求;When the data update notice is a course name update notice, generating a recommendation request after the course update of the data update request;
    当所述数据更新通知为用户喜好标签更新通知时,生成所述数据更新请求的所述用户喜好标签更新后的推荐请求。When the data update notification is a user preference tag update notification, a recommendation request after the user preference tag update of the data update request is generated.
  3. 根据权利要求1所述的课程推荐方法,其中,所述采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库的步骤,包括:The course recommendation method according to claim 1, wherein said using preset course batch processing parameters to segment each course name in the to-be-updated course-name data set to obtain the to-be-updated course name data set Corresponding course name word segmentation results corresponding to each of the course names, the step of updating the course name word segmentation database according to the course name word segmentation results corresponding to each of the course names corresponding to the to-be-updated course name data set, include:
    获取所述预设课程批量处理参数;obtaining the preset course batch processing parameters;
    当所述待更新的课程名称数据集中包括需要删除的课程名称数据时,根据所述需要删除的课程名称数据对所述课程名称分词库进行删除处理;When the to-be-updated course title data set includes course title data that needs to be deleted, delete the course title thesaurus according to the course title data to be deleted;
    当所述待更新的课程名称数据集中包括需要新增的课程名称数据时,采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应 的所述课程名称分词结果,将所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果存储在所述课程名称分词库中。When the to-be-updated course name data set includes course name data that needs to be added, the preset course batch processing parameters are used to segment each of the course names in the to-be-added course name data, respectively, Obtain the word segmentation result of the course name corresponding to each of the course names in the course name data that needs to be added, and segment the course name corresponding to each of the course names in the course name data to be added. The results are stored in the course name lexicon.
  4. 根据权利要求3所述的课程推荐方法,其中,所述采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果的步骤之前,包括:The method for recommending courses according to claim 3, wherein said using said preset batch processing parameters of courses to segment each of said course names in said data of course names to be added, respectively, to obtain said Before the steps of the word segmentation results of the course names corresponding to each of the course names in the added course name data, the steps include:
    获取批次处理时长监控结果和所述预设课程批量处理参数;Obtain the batch processing duration monitoring results and the preset course batch processing parameters;
    当所述批次处理时长监控结果大于所述预设课程批量处理参数的批处理间隔数据时,根据所述批次处理时长监控结果,确定待更新的课程批量处理参数;When the batch processing duration monitoring result is greater than the batch interval data of the preset course batch processing parameters, determine the batch processing parameters of the courses to be updated according to the batch processing duration monitoring results;
    根据所述待更新的课程批量处理参数更新所述预设课程批量处理参数。The preset course batch processing parameters are updated according to the to-be-updated course batch processing parameters.
  5. 根据权利要求4所述的课程推荐方法,其中,所述根据所述批次处理时长监控结果,确定待更新的课程批量处理参数的步骤,包括:The course recommendation method according to claim 4, wherein the step of determining the batch processing parameters of the courses to be updated according to the monitoring result of the batch processing duration comprises:
    获取CPU核心数量、块间隔数据、预设比例;Get the number of CPU cores, block interval data, and preset ratio;
    将所述批次处理时长监控结果和所述预设比例进行相乘计算,得到所述待更新的课程批量处理参数对应的所述批处理间隔数据;Multiplying the batch processing duration monitoring result and the preset ratio to obtain the batch processing interval data corresponding to the batch processing parameters of the courses to be updated;
    根据所述待更新的课程批量处理参数对应的所述批处理间隔数据进行滑动窗口大小计算和滑动间隔数据计算,得到所述待更新的课程批量处理参数对应的所述滑动窗口大小和所述滑动间隔数据。Perform sliding window size calculation and sliding interval data calculation according to the batch interval data corresponding to the course batch processing parameters to be updated, to obtain the sliding window size and the sliding window size corresponding to the to-be-updated course batch processing parameters interval data.
  6. 根据权利要求1所述的课程推荐方法,其中,所述采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库的步骤,包括:The course recommendation method according to claim 1, wherein the step of using preset user batch processing parameters to update the user preference tag database according to the to-be-updated user preference tag data set comprises:
    采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据;Using the preset user batch processing parameters to obtain a piece of the user preference label data from the to-be-updated user preference label data set, to obtain the to-be-processed user preference label data;
    根据所述待处理的用户喜好标签数据对应的用户标识将所述待处理的用户喜好标签数据中的需要增加的喜好标签添加到所述用户喜好标签库中;According to the user identification corresponding to the user preference label data to be processed, the preference label that needs to be added in the to-be-processed user preference label data is added to the user preference label library;
    根据所述待处理的用户喜好标签数据对应的所述用户标识将所述待处理的用户喜好标签数据中的需要删除的喜好标签从所述用户喜好标签库中进行删除;Deleting, according to the user identification corresponding to the to-be-processed user-favorite label data, a favorite tag that needs to be deleted in the to-be-processed user-favorite tag data from the user favorite tag library;
    重复执行所述采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据的步骤,直至完成所述待更新的用户喜好标签数据集中所有所述用户喜好标签数据对所述用户喜好标签库的更新。Repeat the steps of obtaining a piece of user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters, and obtaining the user preference label data to be processed, until the to-be-updated user preference label data is completed. The user preference label database is updated by all the user preference label data in the user preference label data set.
  7. 根据权利要求1所述的课程推荐方法,其中,所述采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果的步骤,包括:The method for recommending courses according to claim 1, wherein the recommending a course according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request by using a preset recommendation rule, and obtaining the to-be-recommended course recommendation method. The steps of the respective target course recommendation results corresponding to each user ID of the recommended user ID set include:
    将所述课程推荐更新请求携带的所述待推荐的用户标识集在所述相似度矩阵库中进行查找,得到所述待推荐的用户标识集的各个所述用户标识各自对应的课程与喜好标签相似度矩阵;Searching the set of user IDs to be recommended carried in the course recommendation update request in the similarity matrix library, and obtaining the respective courses and preference tags corresponding to each of the user IDs in the set of user IDs to be recommended similarity matrix;
    获取预设相似度阈值;Get the preset similarity threshold;
    从所述待推荐的用户标识集中获取一个所述用户标识,作为待推荐的用户标识;Obtain one of the user IDs from the set of user IDs to be recommended as the user ID to be recommended;
    从所述待推荐的用户标识对应的所述课程与喜好标签相似度矩阵中找出大于所述预设相似度阈值的课程与喜好标签相似度,将找出的所有所述课程与喜好标签相似度对应的所有课程名称作为所述待推荐的用户标识对应的目标课程推荐结果;Find out the similarity between courses and preference tags greater than the preset similarity threshold from the similarity matrix of the courses and preference tags corresponding to the user IDs to be recommended, and compare all the courses found to be similar to the preference tags All course names corresponding to the degree are used as the target course recommendation result corresponding to the user ID to be recommended;
    重复执行所述从所述待推荐的用户标识集中获取一个所述用户标识,作为待推荐的用户标识的步骤,直至确定所述待推荐的用户标识集的各个所述用户标识各自对应的所述目标课程推荐结果。Repeatedly performing the step of obtaining one of the user IDs from the set of user IDs to be recommended as the user ID to be recommended, until it is determined that each of the user IDs in the set of user IDs to be recommended corresponds to the respective user IDs. Target course recommendation results.
  8. 一种课程推荐装置,其中,所述装置包括:A course recommendation device, wherein the device includes:
    请求获取模块,用于获取数据更新请求;The request acquisition module is used to acquire data update requests;
    课程名称分词库更新模块,用于当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;The course name word segmentation database update module is used to obtain the data set of the course name to be updated when the data update request is a recommendation request after the course update, and use the preset course batch processing parameters to respectively update the course name to be updated. Perform word segmentation for each course name in the data set, and obtain the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated. The word segmentation result of the said course name corresponding to each name updates the course name word segmentation database;
    用户喜好标签库更新模块,用于当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;The user preference tag library update module is used to obtain the user preference tag data set to be updated when the data update request is a recommendation request after the user preference tag is updated, and use preset user batch processing parameters according to the user preference tag to be updated. The preference tag dataset updates the user preference tag library;
    目标课程名称分词词向量集确定模块,用于基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;The target course name word segmentation word vector set determination module is used to obtain the course name word segmentation result from the course name word segmentation database based on the data update request, and obtain the target course name word segmentation result set, respectively for the target course name. Perform word vector generation on each of the course name word segmentation results in the word segmentation result set, and obtain a target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
    目标用户喜好标签词向量集确定模块,用于基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;The target user preference tag word vector set determination module is configured to obtain user preference tag data from the user preference tag library based on the data update request, and obtain a target user preference tag data set, and respectively analyze the target user preference tag data set in the target user preference tag data set. Perform word vector generation on each of the user preference tag data to obtain a target user preference tag word vector set corresponding to the target user preference tag data set;
    相似度矩阵生成模块,用于根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix generation module is used to generate the similarity matrix according to the target course name word segmentation word vector set and the target user preference tag word vector set, and obtain the similarity matrix of the course to be updated and the preference tag, according to the to-be-updated course and preference tag similarity matrix. Update the similarity matrix of courses and preference tags; update the similarity matrix library;
    课程推荐模块,用于基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。A course recommendation module, configured to obtain a course recommendation update request based on the data update request, and use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain Each user identifier of the user identifier set to be recommended corresponds to a target course recommendation result.
  9. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现如下方法步骤:A computer device includes a memory and a processor, wherein the memory stores a computer program, wherein the processor implements the following method steps when executing the computer program:
    获取数据更新请求;Get data update request;
    当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
    当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
    基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed Word vector generation, to obtain the target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
    基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference tag word vector set corresponding to the target user preference tag data set;
    根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference label word vector set, and the similarity matrix between the courses to be updated and the preference labels is obtained. Matrix update similarity matrix library;
    基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
  10. 根据权利要求9所述的计算机设备,其中,所述获取数据更新请求的步骤,包括:The computer device according to claim 9, wherein, the step of acquiring the data update request comprises:
    获取Kafka消息中间件发送的数据更新通知;Get the data update notification sent by the Kafka message middleware;
    当所述数据更新通知为课程名称更新通知时,生成所述数据更新请求的所述课程更新后的推荐请求;When the data update notification is a course name update notification, generating a recommendation request after the course update of the data update request;
    当所述数据更新通知为用户喜好标签更新通知时,生成所述数据更新请求的所述用户喜好标签更新后的推荐请求。When the data update notification is a user preference tag update notification, a recommendation request after the user preference tag update of the data update request is generated.
  11. 根据权利要求9所述的计算机设备,其中,所述采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库的步骤,包括:The computer device according to claim 9, wherein the preset course batch processing parameters are used to segment each course name in the to-be-updated course-name data set, and obtain the corresponding to-be-updated course name data set. The step of updating the course name thesaurus database according to the course name word segmentation results corresponding to each of the course names corresponding to the to-be-updated course name datasets, including :
    获取所述预设课程批量处理参数;obtaining the batch processing parameters of the preset course;
    当所述待更新的课程名称数据集中包括需要删除的课程名称数据时,根据所述需要删除的课程名称数据对所述课程名称分词库进行删除处理;When the to-be-updated course title data set includes course title data that needs to be deleted, delete the course title thesaurus according to the course title data to be deleted;
    当所述待更新的课程名称数据集中包括需要新增的课程名称数据时,采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果,将所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果存储在所述课程名称分词库中。When the to-be-updated course name data set includes course name data that needs to be added, the preset course batch processing parameters are used to segment each of the course names in the to-be-added course name data, respectively, Obtain the word segmentation result of the course name corresponding to each of the course names in the course name data that needs to be added, and segment the course name corresponding to each of the course names in the course name data to be added. The results are stored in the course name lexicon.
  12. 根据权利要求11所述的计算机设备,其中,所述采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果的步骤之前,包括:The computer device according to claim 11, wherein the preset course batch processing parameters are used to segment each of the course names in the course name data that needs to be added, to obtain the need to add new courses. Before the step of the word segmentation result of the course name corresponding to each of the course names in the course name data, the steps include:
    获取批次处理时长监控结果和所述预设课程批量处理参数;Obtain batch processing duration monitoring results and the preset course batch processing parameters;
    当所述批次处理时长监控结果大于所述预设课程批量处理参数的批处理间隔数据时,根据所述批次处理时长监控结果,确定待更新的课程批量处理参数;When the batch processing duration monitoring result is greater than the batch interval data of the preset course batch processing parameters, determine the batch processing parameters of the courses to be updated according to the batch processing duration monitoring results;
    根据所述待更新的课程批量处理参数更新所述预设课程批量处理参数。The preset course batch processing parameters are updated according to the to-be-updated course batch processing parameters.
  13. 根据权利要求12所述的计算机设备,其中,所述根据所述批次处理时长监控结果,确定待更新的课程批量处理参数的步骤,包括:The computer device according to claim 12, wherein the step of determining the batch processing parameters of the courses to be updated according to the batch processing duration monitoring result comprises:
    获取CPU核心数量、块间隔数据、预设比例;Get the number of CPU cores, block interval data, and preset ratio;
    将所述批次处理时长监控结果和所述预设比例进行相乘计算,得到所述待更新的课程批量处理参数对应的所述批处理间隔数据;Multiplying the batch processing duration monitoring result and the preset ratio to obtain the batch processing interval data corresponding to the batch processing parameters of the courses to be updated;
    根据所述待更新的课程批量处理参数对应的所述批处理间隔数据进行滑动 窗口大小计算和滑动间隔数据计算,得到所述待更新的课程批量处理参数对应的所述滑动窗口大小和所述滑动间隔数据。Perform sliding window size calculation and sliding interval data calculation according to the batch interval data corresponding to the course batch processing parameters to be updated, to obtain the sliding window size and the sliding window size corresponding to the to-be-updated course batch processing parameters interval data.
  14. 根据权利要求9所述的计算机设备,其中,所述采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库的步骤,包括:The computer device according to claim 9, wherein the step of using preset user batch processing parameters to update the user preference tag database according to the user preference tag data set to be updated comprises:
    采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据;Using the preset user batch processing parameters to obtain a piece of the user preference label data from the user preference label data set to be updated to obtain the user preference label data to be processed;
    根据所述待处理的用户喜好标签数据对应的用户标识将所述待处理的用户喜好标签数据中的需要增加的喜好标签添加到所述用户喜好标签库中;According to the user identification corresponding to the user preference label data to be processed, the preference label that needs to be added in the to-be-processed user preference label data is added to the user preference label library;
    根据所述待处理的用户喜好标签数据对应的所述用户标识将所述待处理的用户喜好标签数据中的需要删除的喜好标签从所述用户喜好标签库中进行删除;Deleting, according to the user identifier corresponding to the to-be-processed user-favorite label data, a favorite tag that needs to be deleted in the to-be-processed user-favorite tag data from the user favorite tag library;
    重复执行所述采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据的步骤,直至完成所述待更新的用户喜好标签数据集中所有所述用户喜好标签数据对所述用户喜好标签库的更新。Repeat the steps of obtaining a piece of user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters, and obtaining the user preference label data to be processed, until the to-be-updated user preference label data is completed. The user preference label database is updated by all the user preference label data in the user preference label data set.
  15. 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如下方法步骤:A computer-readable storage medium on which a computer program is stored, wherein when the computer program is executed by a processor, the following method steps are implemented:
    获取数据更新请求;Get data update request;
    当所述数据更新请求是课程更新后的推荐请求时,获取待更新的课程名称数据集,采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库;When the data update request is a recommendation request after course update, obtain the course name data set to be updated, and use the preset course batch processing parameters to segment each course name in the to-be-updated course name data set, and obtain The word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated Update the course name thesaurus;
    当所述数据更新请求是用户喜好标签更新后的推荐请求时,获取待更新的用户喜好标签数据集,采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库;When the data update request is a recommendation request after the user preference label is updated, the user preference label data set to be updated is obtained, and the user preference label database is updated according to the user preference label data set to be updated using preset user batch processing parameters ;
    基于所述数据更新请求从所述课程名称分词库中获取所述课程名称分词结果,得到目标课程名称分词结果集,分别对所述目标课程名称分词结果集中每个所述课程名称分词结果进行词向量生成,得到所述目标课程名称分词结果集对应的目标课程名称分词词向量集;Based on the data update request, the course name word segmentation result is obtained from the course name word segmentation database, and a target course name word segmentation result set is obtained, and each of the course name word segmentation results in the target course name word segmentation result set is performed Word vector generation, to obtain the target course name word segmentation word vector set corresponding to the target course name word segmentation result set;
    基于所述数据更新请求从所述用户喜好标签库中获取用户喜好标签数据,得到目标用户喜好标签数据集,分别对所述目标用户喜好标签数据集中每个所述用户喜好标签数据进行词向量生成,得到所述目标用户喜好标签数据集对应的目标用户喜好标签词向量集;Obtain user preference tag data from the user preference tag library based on the data update request, obtain a target user preference tag data set, and perform word vector generation on each of the user preference tag data in the target user preference tag data set respectively. , obtain the target user preference tag word vector set corresponding to the target user preference tag data set;
    根据所述目标课程名称分词词向量集和所述目标用户喜好标签词向量集进行相似度矩阵生成,得到待更新的课程与喜好标签相似度矩阵,根据所述待更新的课程与喜好标签相似度矩阵更新相似度矩阵库;The similarity matrix is generated according to the target course name word segmentation word vector set and the target user preference tag word vector set to obtain the similarity matrix of the course to be updated and the preference label. According to the similarity between the course to be updated and the preference label Matrix update similarity matrix library;
    基于所述数据更新请求获取课程推荐更新请求,采用预设推荐规则根据所述相似度矩阵库和所述课程推荐更新请求携带的待推荐的用户标识集进行课程推荐,得到所述待推荐的用户标识集的各个用户标识各自对应的目标课程推荐结果。Obtain a course recommendation update request based on the data update request, use preset recommendation rules to perform course recommendation according to the similarity matrix library and the set of user identifiers to be recommended carried in the course recommendation update request, and obtain the user to be recommended. Each user of the identification set identifies the corresponding target course recommendation result.
  16. 根据权利要求15所述的计算机可读存储介质,其中,所述获取数据更新请求的步骤,包括:The computer-readable storage medium of claim 15, wherein the step of obtaining a data update request comprises:
    获取Kafka消息中间件发送的数据更新通知;Get the data update notification sent by the Kafka message middleware;
    当所述数据更新通知为课程名称更新通知时,生成所述数据更新请求的所述课程更新后的推荐请求;When the data update notification is a course name update notification, generating a recommendation request after the course update of the data update request;
    当所述数据更新通知为用户喜好标签更新通知时,生成所述数据更新请求的所述用户喜好标签更新后的推荐请求。When the data update notification is a user preference tag update notification, a recommendation request after the user preference tag update of the data update request is generated.
  17. 根据权利要求15所述的计算机可读存储介质,其中,所述采用预设课程批量处理参数分别对所述待更新的课程名称数据集中每个课程名称进行分词,得到所述待更新的课程名称数据集对应的各个所述课程名称各自对应的课程名称分词结果,根据所述待更新的课程名称数据集对应的各个所述课程名称各自对应的所述课程名称分词结果更新课程名称分词库的步骤,包括:The computer-readable storage medium according to claim 15, wherein, by using preset course batch processing parameters, word segmentation is performed on each course name in the to-be-updated course-name data set to obtain the to-be-updated course name The word segmentation result of the course name corresponding to each of the course names corresponding to the data set, according to the word segmentation result of the course name corresponding to each of the course names corresponding to the course name data set to be updated, update the course name word segmentation result. steps, including:
    获取所述预设课程批量处理参数;obtaining the batch processing parameters of the preset course;
    当所述待更新的课程名称数据集中包括需要删除的课程名称数据时,根据所述需要删除的课程名称数据对所述课程名称分词库进行删除处理;When the to-be-updated course title data set includes course title data that needs to be deleted, delete the course title thesaurus according to the course title data to be deleted;
    当所述待更新的课程名称数据集中包括需要新增的课程名称数据时,采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果,将所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果存储在所述课程名称分词库中。When the to-be-updated course name data set includes course name data that needs to be added, the preset course batch processing parameters are used to segment each of the course names in the to-be-added course name data, respectively, Obtain the word segmentation result of the course name corresponding to each of the course names in the course name data that needs to be added, and segment the course name corresponding to each of the course names in the course name data to be added. The results are stored in the course name lexicon.
  18. 根据权利要求17所述的计算机可读存储介质,其中,所述采用所述预设课程批量处理参数分别对所述需要新增的课程名称数据中每个所述课程名称进行分词,得到所述需要新增的课程名称数据中各个所述课程名称各自对应的所述课程名称分词结果的步骤之前,包括:The computer-readable storage medium according to claim 17, wherein the pre-set course batch processing parameters are used to segment each of the course names in the course name data to be added, respectively, to obtain the Before the steps of the word segmentation results of the course names corresponding to each of the course names in the newly added course name data, the steps include:
    获取批次处理时长监控结果和所述预设课程批量处理参数;Obtain batch processing duration monitoring results and the preset course batch processing parameters;
    当所述批次处理时长监控结果大于所述预设课程批量处理参数的批处理间隔数据时,根据所述批次处理时长监控结果,确定待更新的课程批量处理参数;When the batch processing duration monitoring result is greater than the batch interval data of the preset course batch processing parameters, determine the batch processing parameters of the courses to be updated according to the batch processing duration monitoring results;
    根据所述待更新的课程批量处理参数更新所述预设课程批量处理参数。The preset course batch processing parameters are updated according to the to-be-updated course batch processing parameters.
  19. 根据权利要求18所述的计算机可读存储介质,其中,所述根据所述批次处理时长监控结果,确定待更新的课程批量处理参数的步骤,包括:The computer-readable storage medium according to claim 18, wherein the step of determining the batch processing parameters of the courses to be updated according to the batch processing duration monitoring result comprises:
    获取CPU核心数量、块间隔数据、预设比例;Get the number of CPU cores, block interval data, and preset ratio;
    将所述批次处理时长监控结果和所述预设比例进行相乘计算,得到所述待更新的课程批量处理参数对应的所述批处理间隔数据;Multiplying the batch processing duration monitoring result and the preset ratio to obtain the batch processing interval data corresponding to the batch processing parameters of the courses to be updated;
    根据所述待更新的课程批量处理参数对应的所述批处理间隔数据进行滑动窗口大小计算和滑动间隔数据计算,得到所述待更新的课程批量处理参数对应的所述滑动窗口大小和所述滑动间隔数据。Perform sliding window size calculation and sliding interval data calculation according to the batch interval data corresponding to the course batch processing parameters to be updated, to obtain the sliding window size and the sliding window size corresponding to the to-be-updated course batch processing parameters interval data.
  20. 根据权利要求15所述的计算机可读存储介质,其中,所述采用预设用户批量处理参数根据所述待更新的用户喜好标签数据集更新用户喜好标签库的步骤,包括:The computer-readable storage medium according to claim 15, wherein the step of updating the user preference tag library according to the user preference tag data set to be updated by using preset user batch processing parameters comprises:
    采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据;Using the preset user batch processing parameters to obtain a piece of the user preference label data from the user preference label data set to be updated to obtain the user preference label data to be processed;
    根据所述待处理的用户喜好标签数据对应的用户标识将所述待处理的用户喜好标签数据中的需要增加的喜好标签添加到所述用户喜好标签库中;According to the user identification corresponding to the user preference label data to be processed, the preference label that needs to be added in the to-be-processed user preference label data is added to the user preference label library;
    根据所述待处理的用户喜好标签数据对应的所述用户标识将所述待处理的用户喜好标签数据中的需要删除的喜好标签从所述用户喜好标签库中进行删除;Deleting, according to the user identifier corresponding to the to-be-processed user-favorite label data, a favorite tag that needs to be deleted in the to-be-processed user-favorite tag data from the user favorite tag library;
    重复执行所述采用所述预设用户批量处理参数从所述待更新的用户喜好标签数据集中获取一条所述用户喜好标签数据,得到待处理的用户喜好标签数据的步骤,直至完成所述待更新的用户喜好标签数据集中所有所述用户喜好标签数据对所述用户喜好标签库的更新。Repeat the steps of obtaining a piece of the user preference label data from the user preference label data set to be updated by using the preset user batch processing parameters, and obtaining the user preference label data to be processed, until the to-be-updated user preference label data is completed. The user preference label database is updated by all the user preference label data in the user preference label data set.
PCT/CN2021/091727 2020-12-30 2021-04-30 Course recommendation method and apparatus, device, and storage medium WO2022142043A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011609487.5 2020-12-30
CN202011609487.5A CN112732892B (en) 2020-12-30 2020-12-30 Course recommendation method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2022142043A1 true WO2022142043A1 (en) 2022-07-07

Family

ID=75610873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/091727 WO2022142043A1 (en) 2020-12-30 2021-04-30 Course recommendation method and apparatus, device, and storage medium

Country Status (2)

Country Link
CN (1) CN112732892B (en)
WO (1) WO2022142043A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656703B (en) * 2021-08-31 2023-05-30 中国平安财产保险股份有限公司 Intelligent recommendation method, device, equipment and storage medium based on new online courses
CN113656705B (en) * 2021-08-31 2024-02-20 中国平安财产保险股份有限公司 Course recommendation method, device, equipment and storage medium based on artificial intelligence
CN113722591B (en) * 2021-08-31 2024-02-23 南京邮电大学 Online course recommendation method
CN114117050B (en) * 2021-11-30 2022-08-05 济南农村商业银行股份有限公司 Full-automatic accounting flow popup window processing method, device and system
CN115344787B (en) * 2022-08-23 2023-07-04 华南师范大学 Multi-granularity recommendation method, system, device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150186503A1 (en) * 2012-10-12 2015-07-02 Tencent Technology (Shenzhen) Company Limited Method, system, and computer readable medium for interest tag recommendation
CN105183803A (en) * 2015-08-25 2015-12-23 天津大学 Personalized search method and search apparatus thereof in social network platform
CN107862553A (en) * 2017-11-15 2018-03-30 平安科技(深圳)有限公司 Advertisement real-time recommendation method, device, terminal device and storage medium
CN109446412A (en) * 2018-09-25 2019-03-08 中国平安人寿保险股份有限公司 Product data method for pushing, device, equipment and medium based on web page tag
US20190147050A1 (en) * 2017-11-16 2019-05-16 Baidu Online Network Technology (Beijing) Co., Ltd Method and apparatus for recommending news
CN111428138A (en) * 2020-03-26 2020-07-17 中国建设银行股份有限公司 Course recommendation method, system, equipment and storage medium
CN112052396A (en) * 2020-09-28 2020-12-08 中国平安人寿保险股份有限公司 Course matching method, system, computer equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108510307A (en) * 2018-02-25 2018-09-07 心触动(武汉)科技有限公司 A kind of course recommendation method and system
US20200234606A1 (en) * 2019-01-22 2020-07-23 International Business Machines Corporation Personalized educational planning based on user learning profile

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150186503A1 (en) * 2012-10-12 2015-07-02 Tencent Technology (Shenzhen) Company Limited Method, system, and computer readable medium for interest tag recommendation
CN105183803A (en) * 2015-08-25 2015-12-23 天津大学 Personalized search method and search apparatus thereof in social network platform
CN107862553A (en) * 2017-11-15 2018-03-30 平安科技(深圳)有限公司 Advertisement real-time recommendation method, device, terminal device and storage medium
US20190147050A1 (en) * 2017-11-16 2019-05-16 Baidu Online Network Technology (Beijing) Co., Ltd Method and apparatus for recommending news
CN109446412A (en) * 2018-09-25 2019-03-08 中国平安人寿保险股份有限公司 Product data method for pushing, device, equipment and medium based on web page tag
CN111428138A (en) * 2020-03-26 2020-07-17 中国建设银行股份有限公司 Course recommendation method, system, equipment and storage medium
CN112052396A (en) * 2020-09-28 2020-12-08 中国平安人寿保险股份有限公司 Course matching method, system, computer equipment and storage medium

Also Published As

Publication number Publication date
CN112732892B (en) 2022-09-20
CN112732892A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
WO2022142043A1 (en) Course recommendation method and apparatus, device, and storage medium
US10649794B2 (en) Aggregate features for machine learning
CN111666401B (en) Document recommendation method, device, computer equipment and medium based on graph structure
US8856124B2 (en) Co-selected image classification
US20080208836A1 (en) Regression framework for learning ranking functions using relative preferences
CN109408578B (en) Monitoring data fusion method for heterogeneous environment
CN111666448B (en) Search method, search device, electronic equipment and computer readable storage medium
WO2019019385A1 (en) Cross-platform data matching method and apparatus, computer device and storage medium
CN109033220B (en) Automatic selection method, system, equipment and storage medium of labeled data
CN111753075A (en) Method and device for creating question and answer data of customer service robot and computer equipment
CN111382283A (en) Resource category label labeling method and device, computer equipment and storage medium
CN112883030A (en) Data collection method and device, computer equipment and storage medium
CN113343091A (en) Industrial and enterprise oriented science and technology service recommendation calculation method, medium and program
CN112685475A (en) Report query method and device, computer equipment and storage medium
CN109858031B (en) Neural network model training and context prediction method and device
WO2022142123A1 (en) Training method and apparatus for named entity model, device, and medium
CN109614521A (en) A kind of efficient secret protection subgraph inquiry processing method
CN113656705B (en) Course recommendation method, device, equipment and storage medium based on artificial intelligence
CN116431912A (en) User portrait pushing method and device
CN113642707B (en) Model training method, device, equipment and storage medium based on federal learning
CN109582841A (en) A kind of application and identification method, device, server and storage medium
WO2022028140A1 (en) Item recommendation method and device, and computer readable storage medium
JP7121819B2 (en) Image processing method and apparatus, electronic device, computer-readable storage medium, and computer program
CN110442703B (en) Knowledge graph-based information recommendation method and device and computer equipment
JP2015088089A (en) Recommendation server and recommendation method

Legal Events

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

Ref document number: 21912805

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21912805

Country of ref document: EP

Kind code of ref document: A1