Methods for personalized search and recommendation on smart TVs
By constructing a neo4j graph database and a deep neural network model, feature vectors of movies and user preferences are generated, and the similarity between movie and video neighbors is calculated. This solves the problem of weak correlation between recommendation results and user preferences in smart TVs and improves the interpretability of recommendations.
Patent Information
- Application Number
- CN202310606904.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-26
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2043-05-26
AI Technical Summary
The search recommendations on existing smart TVs are not strongly correlated with user preferences, and the interpretability of the recommendations is poor.
We construct a neo4j graph database, generate feature vectors of movies and TV shows and user preferences, and use a deep neural network model to obtain the first and second degree neighbors of movies and TV shows through a knowledge graph. We then calculate the distance between the feature vectors and recommend movies and TV shows with high similarity.
It improves the relevance of search recommendations to user preferences and enhances the interpretability of the recommendations.
Smart Images

Figure CN116628233B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of film and television recommendation, and in particular to a method for personalized search and recommendation on smart TVs. Background Technology
[0002] Smart TVs offer two different search results for video resources via voice search: instant playback and related search. Instant playback requires the user to directly start playing the video if the entered movie title is unique. Related search requires the system to intelligently recommend a list of results for the user to choose from if the entered movie title is not unique or incorrect. However, the existing search recommendations suffer from a weak correlation with the user's specific preferences, and the interpretability of why these results are recommended to the user is poor. Summary of the Invention
[0003] The technical problem solved by this invention: This invention provides a method for personalized search and recommendation for smart TVs, which solves the problem that the search and recommendation results are not strongly correlated with the specific user's preferences in the prior art, and the problem that the interpretability of why these results are recommended to the user is poor.
[0004] The technical solution adopted by this invention to solve the above-mentioned technical problems is a method for personalized search and recommendation on smart TVs, comprising the following steps:
[0005] S01. Set up the neo4j graph database;
[0006] S02. Obtain basic film and television information, profile information, and popular statistical analysis information from the media resource library, convert them into nodes and relationships of a knowledge graph, and import them into the neo4j graph database to construct the knowledge graph;
[0007] S03. Train a neural network model to generate user preference embedding feature vectors and movie / TV embedding feature vectors;
[0008] S04. Obtain the film and television data for each item in the media resource library, and use the deep neural network model to generate the embedding feature vector of the film and television data. Use the film and television data ID as key1 and the embedding feature vector as value1 to form the feature vector set key1-value1 of the film and television data.
[0009] S05. Obtain a user profile based on the MAC address or voiceprint ID, and use the deep neural network model to generate an embedding feature vector of the user's preferred movies and TV shows. Use the MAC address or voiceprint ID as key2 and the embedding feature vector of the user's preferred movies and TV shows as value2 to form a feature vector set key2-value2 of the user's preferred movies and TV shows.
[0010] S06. Retrieve the first-degree neighbor films and second-degree neighbor films and television programs of each film and television program in the knowledge graph of the neo4j graph database, and use the film and television program ID as key3, and the list of first-degree neighbor film and television program IDs retrieved for the corresponding film and television program as value3, to form a candidate set key3-value3 related to the film and television program.
[0011] S07. Upon receiving the search term input by the user, convert the movie / TV show name corresponding to the search term into a movie / TV show ID, i.e., key3. Use the movie / TV show related candidate set key3-value3 to obtain the first and second degree neighbor movie / TV show IDs in value3. And obtain the embedding feature vector of each movie / TV show ID in the first and second degree neighbor movies / TV shows based on the feature vector set key1-value1. Obtain the user's MAC address or voiceprint ID based on the search term input by the user, and obtain the embedding feature vector of the user's preferred movies / TV shows based on the feature vector set key2-value2.
[0012] S08. Calculate the distance between the embedding feature vector of each movie ID in the first and second degree neighbor movies and the embedding feature vector of the movie preferred by the user. Sort the distances from smallest to largest and select the top N movies to recommend to the user.
[0013] Furthermore, in S01, building the neo4j graph database includes the following steps:
[0014] S101. Extract the JDK11 compressed package to / usr / local / , modify the / etc / profile file, and add the JDK11 system environment variable;
[0015] S102. Extract the neo4j installation package to / opt / , modify the / etc / profile file, and add the neo4j system environment variables;
[0016] S103. Unzip the APOC repository extension plugin to / opt / neo4j-community-4.2.3 / plugins / .
[0017] Add the following to the file / opt / neo4j-community-4.2.3 / conf / neo4j.conf
[0018] dbms.security.procedures.unrestricted=apoc.*;
[0019] S104. Execute `neo4j start` in the Linux shell to start the neo4j graph database service.
[0020] Furthermore, the knowledge graph includes nodes such as film and television, celebrities, language, time, genre, tags, VIP, licensee, role, age, age group, gender, family member roles, region, family member structure, and number of viewers, as well as the relationships between nodes.
[0021] Furthermore, the feature vector set key1-value1 of the film and television, the feature vector set key2-value2 of the user's preferred film and television, and the candidate set key3-value3 of the film and television are all stored in Redis.
[0022] Furthermore, the embedding feature vector of the film and television includes poster features, music features, and attribute features. The music features include opening theme, ending theme, and incidental music. The attribute features include film and television ID, film and television name, production time, synopsis, actors, VIP status, voice, genre, and distribution region.
[0023] Furthermore, the embedding feature vector of the user's preferred movies and TV shows includes historical behavior features, movie and TV show features, user demographic features, geographic location features, and terminal device attribute features. The historical behavior features include clicking on posters, listening to music, installing applications, subscribing to VIP, and installing videos. The movie and TV show features include historical viewing IDs and attribute features.
[0024] The beneficial effects of this invention are as follows: The personalized search and recommendation method for smart TVs of this invention utilizes a deep neural network model to generate the embedding feature vector of each film and television program in the media resource library; it obtains user profiles based on MAC addresses or voiceprint IDs, and uses a deep neural network model to generate embedding feature vectors of user-preferred films and television programs; by constructing a film and television knowledge graph, it obtains the first- and second-degree neighbor film and television IDs of any film and television program; when a user inputs a search term, it obtains the first- and second-degree neighbor film and television IDs through the film and television IDs corresponding to the search term, calculates the distance between the embedding feature vector of each film and television ID in the first- and second-degree neighbor films and television programs and the embedding feature vector of the user-preferred films and television programs, arranges the distances from smallest to largest, and selects the top N films and television programs to recommend to the user. This solves the problem of weak correlation between search recommendation results and specific user preferences in the prior art. At the same time, it obtains the relationship between nodes based on the knowledge graph as the reason for the recommendation to the user, thus solving the problem of weak interpretability of search recommendation results. Attached Figure Description
[0025] Appendix Figure 1 This is a flowchart illustrating the personalized search and recommendation method for smart TVs according to the present invention. Detailed Implementation
[0026] The method for personalized search and recommendation on smart TVs according to this invention is as follows: Figure 1 As shown, it includes the following steps:
[0027] S01. Set up the neo4j graph database;
[0028] Specifically, setting up a Neo4j graph database includes the following steps:
[0029] S101. Extract the JDK11 compressed package to / usr / local / , modify the / etc / profile file, and add the JDK11 system environment variable;
[0030] The system environment variables of JDK 11 include:
[0031] JAVA_HOME= / usr / local / jdk-11;
[0032] CLASSPATH=$JAVA_HOME / lib / ;
[0033] PATH=$JAVA_HOME / bin:$PATH;
[0034] export PATH JAVA_HOME.
[0035] S102. Extract the neo4j installation package to / opt / , modify the / etc / profile file, and add the neo4j system environment variables;
[0036] The system environment variables of neo4j include:
[0037] NEO4J_HOME= / opt / neo4j-community-4.2.3;
[0038] PATH=$NEO4J_HOME / bin:$PATH;
[0039] export PATH NEO4J_HOME.
[0040] S103. Unzip the APOC repository extension plugin to / opt / neo4j-community-4.2.3 / plugins / .
[0041] Add the following to the file / opt / neo4j-community-4.2.3 / conf / neo4j.conf
[0042] dbms.security.procedures.unrestricted=apoc.*;
[0043] `dbms.security.procedures.unrestricted = apoc.*` is used to remove access control restrictions on stored procedures.
[0044] S104. Execute `neo4j start` in the Linux shell to start the neo4j graph database service.
[0045] S02. Obtain basic film and television information, profile information, and popular statistical analysis information from the media resource library, convert them into nodes and relationships of a knowledge graph, and import them into the neo4j graph database to construct the knowledge graph;
[0046] Specifically, the knowledge graph includes nodes such as film and television, celebrities, language, time, genre, tags, VIP, licensee, role, age, age group, gender, family member roles, region, family member structure, and number of viewers, as well as the relationships between nodes. The nodes and their relationships are obtained through the `ns` attribute of the operation entries in the media resource library's operation log; furthermore, the `op` attribute of the operation entries can be used to determine whether to insert, update, or delete node documents in the knowledge graph, thereby updating the relationships between nodes in the knowledge graph accordingly.
[0047] S03. Train a neural network model to generate user preference embedding feature vectors and movie / TV embedding feature vectors;
[0048] Specifically, the neural network model can adopt a deep neural network model with a dual-tower network structure, and the trained deep neural network model with a dual-tower network structure can be deployed using Docker containers and TensorFlow Serving; the embedding feature vector of the film and television includes poster features, music features, and attribute features. The music features include opening theme, ending theme, and incidental music. The attribute features include film and television ID, film and television name, production time, synopsis, actors, VIP status, voice, genre, and release region; the embedding feature vector of the user's preferred film and television includes historical behavior features, film and television features, user demographic attributes, geographic location features, and terminal device attributes. The historical behavior features include clicking on posters, listening to music, installing applications, subscribing to VIP, and installing videos; the film and television features include historical viewing IDs and attribute features.
[0049] S04. Obtain the film and television data for each item in the media resource library, and use the deep neural network model to generate the embedding feature vector of the film and television data. Use the film and television data ID as key1 and the embedding feature vector as value1 to form the feature vector set key1-value1 of the film and television data.
[0050] S05. Obtain a user profile based on the MAC address or voiceprint ID, and use the deep neural network model to generate an embedding feature vector of the user's preferred movies and TV shows. Use the MAC address or voiceprint ID as key2 and the embedding feature vector of the user's preferred movies and TV shows as value2 to form a feature vector set key2-value2 of the user's preferred movies and TV shows.
[0051] S06. Retrieve the first-degree neighbor films and second-degree neighbor films and television programs of each film and television program in the knowledge graph of the neo4j graph database, and use the film and television program ID as key3, and the list of first-degree neighbor film and television program IDs retrieved for the corresponding film and television program as value3, to form a candidate set key3-value3 related to the film and television program.
[0052] S07. Upon receiving the search term input by the user, convert the movie / TV show name corresponding to the search term into a movie / TV show ID, i.e., key3. Use the movie / TV show related candidate set key3-value3 to obtain the first and second degree neighbor movie / TV show IDs in value3. And obtain the embedding feature vector of each movie / TV show ID in the first and second degree neighbor movies / TV shows based on the feature vector set key1-value1. Obtain the user's MAC address or voiceprint ID based on the search term input by the user, and obtain the embedding feature vector of the user's preferred movies / TV shows based on the feature vector set key2-value2.
[0053] S08. Calculate the distance between the embedding feature vector of each movie ID in the first and second degree neighbor movies and the embedding feature vector of the movie preferred by the user. Sort the distances from smallest to largest and select the top N movies to recommend to the user.
[0054] Specifically, similarity can also be calculated based on distance. The smaller the distance, the higher the similarity, and the top N most similar movies and TV shows are recommended to the user.
[0055] In this invention, in order to improve the response speed, the feature vector set key1-value1 of movies and TV shows, the feature vector set key2-value2 of user-preferred movies and TV shows, and the candidate set key3-value3 of movies and TV shows are all stored in Redis.
Claims
1. A method of personalized search recommendation for a smart TV, characterized in that, Comprise the following steps: S01, build neo4j graph database; S02, obtain the basic information of the media resource library, portrait information and hot statistical analysis information, convert into knowledge graph nodes and relations, and import into the neo4j graph database to build a knowledge graph; S03, training a deep neural network model for generating user preference embedding feature vector and film and television embedding feature vector; S04, obtain each film and television in the media resource library, generate the embedding feature vector of the film and television using the deep neural network model, and form the feature vector set of the film and television with the film and television id as key1 and the embedding feature vector as value1; S05, according to the mac address or voiceprint id, obtain the user portrait, generate the embedding feature vector of the user preferred film and television using the deep neural network model, and form the feature vector set of the user preferred film and television with the mac address or voiceprint id as key2 and the embedding feature vector of the user preferred film and television as value2; S06, retrieve the first and second neighbor films and televisions of each film and television in the media library in the knowledge graph in the neo4j graph database, and form the film and television related candidate set with the id of the film and television as key3 and the list of first and second neighbor film and television ids retrieved as value3; S07, receive the search term input by the user, convert the film and television name corresponding to the search term into a film and television id, i.e. key3, use the film and television related candidate set key3-value3 to obtain the first and second neighbor film and television ids in value3; and according to the film and television feature vector set key1-value1, obtain the embedding feature vector of each film and television id in the first and second neighbor film and television; according to the search term input by the user, obtain the mac address or voiceprint id of the user, and according to the feature vector set of the user preferred film and television key2-value2, obtain the embedding feature vector of the user preferred film and television; S08, calculate the distance between the embedding feature vector of each film and television id in the first and second neighbor film and television and the embedding feature vector of the user preferred film and television, arrange the distance from small to large, and select the top N films and televisions to recommend to the user.
2. The method of personalized search recommendation for a smart TV of claim 1, wherein, In S01, building a neo4j graph database comprises the following steps: S101, decompress the JDK11 compressed package to / usr / local, modify the / etc / profile file, and add the system environment variable of JDK11; S102, decompress the neo4j installation compressed package to / opt, modify the / etc / profile file, and add the system environment variable of neo4j; S103, decompress the APOC repository extension plug-in to / opt / neo4j-community-4.2.3 / plugins / , add dbms.security.procedures.unrestricted=apoc.* to the / opt / neo4j-community-4.2.3 / conf / neo4j.conf file; S104, execute neo4j start in the shell of Linux to start the neo4j graph database service.
3. The method of personalized search recommendation for a smart TV of claim 1, wherein, The knowledge graph comprises movies and televisions, stars, languages, times, types, tags, VIPs, license parties, roles, ages, age groups, genders, family member roles, regions, family member structures and the number of viewers as nodes, and the mutual relationship between the nodes.
4. The method of personalized search recommendation for a smart TV of claim 1, wherein, The feature vector set key1-value1 of the movies and televisions, the feature vector set key2-value2 of the user preferred movies and televisions and the movie related candidate set key3-value3 are stored in the redis.
5. The method of personalized search recommendation for a smart TV according to any of claims 1-4, characterized in that, The embedding feature vector of the movies and televisions comprises a poster feature, a music feature and an attribute feature, the music feature comprises a theme song, an ending song and a sub-plot, and the attribute feature comprises a movie id, a movie name, a production time, a brief introduction, an actor, a VIP, a language, a type and a release region.
6. The method of personalized search recommendation for a smart TV according to any of claims 1-4, wherein, The embedding feature vector of the user preferred movies and televisions comprises a historical behavior feature, a movie feature, a user demographic attribute feature, a geographical location feature and a terminal device attribute feature, the historical behavior feature comprises clicking a poster, listening to music, installing an application, subscribing to a VIP and installing a video, and the movie feature comprises a historical viewing id and an attribute feature.
Citation Information
Patent Citations
Recommendation method and recommendation system based on graph knowledge and electronic device
CN112084376A
Method and apparatus for recommending entity
US20190311275A1