System

The system addresses the challenge of finding relevant video content by generating personalized program guides and community interactions based on user interests and viewing history, improving the viewing experience.

JP2026022469APending Publication Date: 2026-02-12SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024123986
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-30
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Users face difficulty in efficiently discovering video content that matches their hobbies and interests due to the vast amount of content available across multiple streaming services, leading to a suboptimal viewing experience.

Method used

A system that includes inputting user interests, acquiring content information, analyzing and indexing metadata, generating a customized program guide, transmitting it to a user terminal, and reflecting viewing history and feedback to provide personalized recommendations and community interactions.

Benefits of technology

The system significantly reduces the effort required to find relevant content by providing personalized program guides and community features, enhancing the viewing experience through tailored recommendations and user interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026022469000001_ABST
    Figure 2026022469000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for inputting information based on a user's interest; means for acquiring content information from a plurality of video services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interest information and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing a user's viewing history and feedback; and means for reflecting the stored viewing history and feedback in the next recommendation.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] In today's world, where a vast amount of diverse video content is available, it is becoming increasingly difficult for users to efficiently discover programs that match their hobbies and interests. This leads to users spending a lot of time and effort trying to find the best content for them from the vast amount of content available. This problem is particularly pronounced when there are numerous video streaming services, each offering different content. Therefore, there is a need for a method to optimize users' viewing experience and make video content easier to access. [Means for solving the problem]

[0005] The present invention provides a system including: a means for inputting information based on a user's interests; a means for acquiring content information from multiple video services; a means for analyzing the acquired content information to generate and index metadata; a means for generating a customized program guide based on the user's interest information and the indexed metadata; a means for transmitting the generated program guide to a user terminal; a means for acquiring and storing the user's viewing history and feedback; and a means for reflecting the stored viewing history and feedback in subsequent recommendations. This allows users to easily access optimal content based on their hobbies and interests, thereby improving their viewing experience. Furthermore, by including a means for suggesting communities based on the content viewed by the user and their feedback and for interacting with other users, an even richer viewing experience can be provided.

[0006] "User" refers to an individual who uses the system and watches video content.

[0007] "Interest information" refers to information such as the genres, actors, and themes that users want to watch.

[0008] "Content information" refers to metadata about content such as movies and dramas provided by video services (e.g., genre, cast, release date, etc.).

[0009] "Video service" refers to an online platform that provides users with video content such as movies and dramas.

[0010] "Indexing" refers to the process of organizing and classifying analyzed metadata based on specific rules.

[0011] A "program guide" refers to a list of available content that is generated based on the user's interest information and content information.

[0012] "Terminal" refers to the device (smartphone, tablet, PC, etc.) that a user uses to access "My Program Guide."

[0013] "Viewing history" refers to a record of content that a user has viewed in the past.

[0014] "Feedback" refers to ratings and comments provided by users regarding content they have viewed.

[0015] "Recommendations" refers to content that is recommended to users based on their interests and viewing history.

[0016] A "community" refers to a place where users with the same interests and hobbies can share information and interact with each other. [Brief explanation of the drawings]

[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9]1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0019] First, the terms used in the following description will be explained.

[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0025] [First embodiment]

[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0038] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[0039] Collection of User Information

[0040] User

[0041] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0042] Terminal

[0043] The entered user information is temporarily saved and sent to the server.

[0044] server

[0045] The received user information is stored in a database, and interest information is categorized and stored.

[0046] Generating a Content Index

[0047] server

[0048] Content information is periodically obtained from multiple video services using APIs.

[0049] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0050] The parsed metadata is indexed and stored in a database.

[0051] Generating and providing program guides

[0052] server

[0053] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[0054] The generated program guide is stored in a database for each user and sent to the user's terminal.

[0055] Terminal

[0056] The received program guide is displayed within the application.

[0057] Specific examples

[0058] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movies and comedy dramas from Netflix and other video services and stores them in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app.

[0059] Obtaining viewing history and feedback

[0060] Terminal

[0061] The history of when a user views content is recorded and sent to the server.

[0062] Provide an interface for entering feedback and ratings after viewing.

[0063] server

[0064] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0065] Specific examples

[0066] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can take User A's viewing history and feedback into account to provide more accurate recommendations.

[0067] Community Features

[0068] server

[0069] Suggest appropriate communities based on the user's viewing history and interests.

[0070] Moderate conversations and comments within the community.

[0071] Terminal

[0072] Providing a community participation interface that allows users to interact with other users.

[0073] Specific examples

[0074] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[0075] The above is a concrete example of how to implement the "My Program Guide" system of the present invention. This system allows users to have an optimized viewing experience and significantly reduces the effort required to find content.

[0076] The processing flow will be explained below.

[0077] Step 1:

[0078] User

[0079] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0080] Step 2:

[0081] Terminal

[0082] The entered user information is temporarily saved and sent to the server.

[0083] Step 3:

[0084] server

[0085] The received user information is saved in the database.

[0086] The interest information is categorized and stored in a database.

[0087] Step 4:

[0088] server

[0089] Content information is periodically obtained from multiple video services using APIs.

[0090] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0091] The parsed metadata is indexed and stored in a database.

[0092] Step 5:

[0093] server

[0094] Matching user interests with the metadata of indexed content.

[0095] A customized program guide is generated and stored in a database for each user.

[0096] Step 6:

[0097] server

[0098] The generated program guide is transmitted to the user terminal.

[0099] Step 7:

[0100] Terminal

[0101] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[0102] Step 8:

[0103] User

[0104] Select the content you want to watch from the program guide and start watching.

[0105] Step 9:

[0106] Terminal

[0107] Record the history of when a user views content.

[0108] Provide an interface for entering feedback and ratings after viewing.

[0109] Step 10:

[0110] server

[0111] The obtained viewing history and feedback are stored in a database.

[0112] Your saved viewing history and feedback will be reflected in your next recommendations.

[0113] Step 11:

[0114] server

[0115] Suggest appropriate communities based on the user's viewing history and interests.

[0116] Step 12:

[0117] Terminal

[0118] Providing a community participation interface that allows users to interact with other users.

[0119] Step 13:

[0120] User

[0121] Join suggested communities to share and interact with other users.

[0122] These are the specific processing steps of the "My TV Guide" system program, which allows users to easily find content that matches their interests and enrich their viewing experience.

[0123] Example 1

[0124] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0125] Currently, many users use multiple video streaming services, but because the content provided by each service differs, it is difficult to efficiently find content that matches their interests.In addition, because there is no system that provides personalized program guides or community functions based on users' interests and viewing history, users are unable to optimize their viewing experience and it takes a lot of effort to find appropriate content.

[0126] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0127] In this invention, the server includes a means for inputting basic information and interest information of a user, a means for acquiring content information from multiple video distribution services, and a means for analyzing the acquired content information to generate and index metadata, thereby enabling the generation and provision of a personalized program guide based on the user's interest information and viewing history.

[0128] The server includes means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to the user terminal, and means for acquiring and storing the user's viewing history and feedback, thereby further optimizing the user's viewing experience and reducing the effort required for content discovery.

[0129] The server also includes a means for reflecting the saved viewing history and feedback in the next recommendation, a means for suggesting a community based on the user's viewing history and feedback, and a means for the user to join the suggested community and interact with other users, thereby promoting interaction between users and contributing to an improved viewing experience.

[0130] Furthermore, it includes a means for periodically updating the program guide customized for each user based on the interest information entered by the user, thereby making it possible to always provide the latest program information and propose the most suitable content according to the user's interests.

[0131] A "user" is an individual who uses the system and enters their basic information and interests.

[0132] "Basic information" refers to basic data such as the user's name, age, and gender.

[0133] "Interest information" is data about a user's hobbies and preferences, such as favorite genres, actors, and themes.

[0134] A "video distribution service" is a platform that provides video content over the Internet.

[0135] "Content information" is data related to video content provided by video distribution services.

[0136] "Metadata" is auxiliary data such as genre, cast, and release date that is generated by analyzing acquired content information.

[0137] "Indexing" is the process of organizing metadata based on specific criteria to make it easier to search and match.

[0138] A "program guide" is a list of viewing schedules customized based on the user's interests and metadata.

[0139] "Viewing history" is a record of the content a user has viewed to date.

[0140] "Feedback" refers to ratings and comments that users enter about the content they have viewed.

[0141] "Recommendations" refer to content suggested by the system based on the user's interests, viewing history, and feedback.

[0142] A "community" is a group where users with similar interests can interact with each other.

[0143] "Participation interface" refers to the screens and functions that allow users to participate in a community.

[0144] "Periodic updating" refers to the process of reflecting the latest data at regular intervals.

[0145] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[0146] Collection of User Information

[0147] User

[0148] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0149] Terminal

[0150] The device temporarily stores the entered user information and sends it to the server, using the HTTPS protocol for this process.

[0151] server

[0152] The server stores the received user information in a database using MySQL, and the data is categorized and stored (basic information, interests, etc.).

[0153] Generating a Content Index

[0154] server

[0155] The server periodically obtains content information from multiple video streaming services using APIs, and sends HTTP requests using the Python Requests library.

[0156] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated. Python's JSON library is used for analysis.

[0157] The indexed metadata is stored in a database using MySQL.

[0158] Generating and providing program guides

[0159] server

[0160] The server matches user interests with the metadata of the indexed content to generate a customized program guide, using the Pandas library.

[0161] The server generates a customized program guide, which may be generated using machine learning libraries such as Scikit-learn.

[0162] The generated program guide is sent to the user's device. To do this, we implement a RESTful API using Flask.

[0163] Terminal

[0164] The device displays the received program guide in the application, which is presented to the user using React Native.

[0165] Specific examples

[0166] If User A is interested in "action movies" and "comedy dramas," the server retrieves information from Netflix and other video streaming services, compares it with the database, and generates a program guide. This program guide is sent to User A's device and displayed in an app using React Native.

[0167] Obtaining viewing history and feedback

[0168] Terminal

[0169] The device keeps track of the content the user has viewed; this is done using a local database (such as SQLite).

[0170] The viewing history is periodically sent to the server using the HTTPS protocol.

[0171] It provides an interface for users to enter feedback and ratings after watching the video. The UI is built using React Native.

[0172] server

[0173] The server stores the obtained viewing history and feedback in a database and reflects it in the next recommendation. MySQL is used for storage, and collaborative filtering is used as the recommendation algorithm.

[0174] Specific examples

[0175] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can provide more accurate recommendations based on this data.

[0176] Community Features

[0177] server

[0178] The server recommends appropriate communities based on the user's viewing history and interests. The algorithm may use the Recommenderlab package in the R programming language.

[0179] The server manages conversations and comments within the community, using MongoDB for management.

[0180] Terminal

[0181] The terminal provides a community participation interface that allows users to interact with other users, and the interface was built using React Native.

[0182] Specific examples

[0183] User A can join a community of "action movie fans" and share movie reviews and recommendations with other users. The joining interface is implemented using React Native, and the community data is managed using MongoDB.

[0184] This provides users with an optimized viewing experience and significantly reduces the effort required for content discovery.

[0185] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0186] Step 1: Enter and submit your user registration information

[0187] User

[0188] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0189] Terminal

[0190] The entered user information is temporarily saved and sent to the server using HTTPS. The input here is the user information, and the output is the user information sent to the server.

[0191] Step 2: Receiving and storing user information

[0192] server

[0193] The server stores the received user information in a MySQL database. The data is categorized and stored into categories (basic information, interests, etc.). The input is user information, and the output is the user information stored in the database.

[0194] Step 3: Obtaining and parsing content information

[0195] server

[0196] The server uses Python's Requests library to periodically retrieve content information from the APIs of multiple video streaming services. The retrieved content information is parsed in JSON format, and metadata (genre, cast, release date, etc.) is generated using Python's json library. The input is the content information retrieved from the API, and the output is the generated metadata.

[0197] Step 4: Indexing and storing metadata

[0198] server

[0199] The server indexes the generated metadata and stores it in a MySQL database. Indexing involves organizing it based on specific fields to facilitate searching and matching. The input is the generated metadata, and the output is the indexed and stored metadata.

[0200] Step 5: Generate a customized program guide

[0201] server

[0202] The server uses the Pandas library to match user interests with indexed metadata to generate a customized program listing. It may also use machine learning libraries such as Scikit-learn for more advanced recommendations. The input is user interests and metadata, and the output is a customized program listing.

[0203] Step 6: Send and display your customized program listings

[0204] server

[0205] The generated customized program guide is sent to the user's device in the form of a RESTful API using Flask. The input is the customized program guide data, and the output is an HTTP response.

[0206] Terminal

[0207] The received program guide data is displayed in the application using React Native. The input is the program guide data received in the HTTP response, and the output is a program guide display that can be viewed by the user.

[0208] Step 7: Record and submit viewing history and feedback

[0209] Terminal

[0210] The user's viewing history of content is recorded and saved in a local database (such as SQLite). This is then periodically sent to the server using HTTPS. After viewing, an interface is provided for the user to enter feedback and ratings. The input is the user's viewing history and feedback, and the output is the history information to be sent.

[0211] server

[0212] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation. The recommendation algorithm uses collaborative filtering. The input is the viewing history and feedback, and the output is updated recommendation data.

[0213] Step 8: Propose and manage your community

[0214] server

[0215] The server suggests appropriate communities based on the user's viewing history and interests. The suggestion algorithm may use the Recommenderlab package in the R programming language. MongoDB is also used to manage conversations and comments within the communities. The input is viewing history and interest information, and the output is suggested community information.

[0216] Terminal

[0217] The terminal provides a community participation interface, allowing users to interact with other users. The interface is built using React Native. The input is the proposed community information, and the output is the user's participation status and conversation data within the community.

[0218] The above processing steps are expected to provide users with an optimized viewing experience and significantly reduce the effort required for content discovery.

[0219] (Application example 1)

[0220] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0221] Conventional content distribution services lack systems that provide optimal program listings based on users' interests. Furthermore, they lack future recommendation features that take into account users' viewing history and feedback, and community features that allow users to communicate with other users who share similar interests. As a result, users have to spend a lot of time finding content that suits them from the vast amount of content available, resulting in a poor quality viewing experience.

[0222] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0223] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple content provision services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in subsequent recommendations; and means for acquiring and displaying the program guide customized based on the user information on a smart device. This not only provides users with a program guide optimized based on their interests, but also allows them to easily access and view programs via their smart device. Furthermore, reflecting viewing history and feedback in subsequent recommendations improves the user's viewing experience, and the community function promotes interaction with other users.

[0224] "User Information" refers to basic personal information such as name, age, gender, and interests that a User enters into the Application.

[0225] "Content provision service" refers to an online platform that provides multiple digital content such as video and audio.

[0226] "Metadata" is analyzed information including the genre, cast, release date, etc. of the content, and is data that describes the attributes of the content.

[0227] "Indexing" is the process of organizing parsed metadata by categories and tags to generate a data structure that facilitates searching and browsing.

[0228] A "program guide" is a schedule or list of content customized based on a user's interests.

[0229] "User terminal" refers to an electronic device such as a smartphone, tablet, or PC, which is used by a user to use an application.

[0230] "Viewing history" is a record of content viewed by a user, and includes data such as viewing date, viewing time, and viewed content.

[0231] "Feedback" refers to data on impressions and opinions, such as ratings and comments given by users after viewing a video.

[0232] "Recommendations" is a feature that provides recommended content to watch next based on the user's interests, viewing history, and feedback.

[0233] A "smart device" is an electronic device that has the ability to connect to the Internet and run multiple applications, and includes smartphones, tablets, smart TVs, etc.

[0234] The "community function" is a feature that allows users with common interests to interact with each other and share information and opinions.

[0235] "Customization" is the process of individually tailoring services and content to the preferences and interests of a particular user.

[0236] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, and the details of an embodiment of the system will be described below.

[0237] Collection of User Information

[0238] Users launch the "My Program Guide" application on their smartphone and enter basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. This information is temporarily stored on the device and then sent to the server. The server stores the received user information in a database and classifies and stores the interest information by category.

[0239] Generating a Content Index

[0240] The server periodically retrieves content information from multiple content providers via API. The retrieved content information is analyzed to generate metadata such as the content's genre, cast, and release date. This metadata is then indexed and stored in a database.

[0241] Generating and providing program guides

[0242] The server compares the user's interest information with the metadata of the indexed content to generate a customized program guide, which is stored in a database for each user and sent to the user's device. Users can then view the program guide through an application on their smartphone.

[0243] Obtaining viewing history and feedback

[0244] When a user watches content, their viewing history is recorded on their device and sent to the server. After viewing, they are provided with an interface to input feedback and ratings. The server stores this information in a database and reflects it in future recommendations.

[0245] Community Features

[0246] The server has the function of suggesting appropriate communities based on the user's viewing history and interests. Users can join the suggested communities and interact with other users through an application on their smartphone. For this reason, the server also has a function to manage conversations and comments within the communities.

[0247] Hardware and software used

[0248] The system uses user devices such as smartphones, tablets, and PCs. The server requires advanced data processing and storage capabilities, and the software used includes data acquisition via API, a database management system, and a big data processing platform.

[0249] For example, if User A is interested in "action movies" and "comedy dramas," the server will use this information to obtain information on the latest action movies and comedy dramas and generate a customized program guide. This will be sent to User A's smartphone, where User A can view it within the app. Furthermore, after watching, User A can provide feedback, which can be reflected in future recommendations.

[0250] Prompt Sentence Examples

[0251] Assume that User A is interested in action movies and comedy dramas. Your application should retrieve the latest action movie and comedy drama information from a content provider service for User A and generate a customized program guide for User A. Additionally, add a feature to suggest communities that User A is interested in and allow them to share movie reviews and recommendations.

[0252] In this way, a system is provided that significantly improves the user's viewing experience.

[0253] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0254] Step 1:

[0255] The user launches the "My Program Guide" application on their smartphone and enters basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. The input data is temporarily saved on the device. Input: User's basic information and interest information. Output: Temporarily saved user data.

[0256] Step 2:

[0257] The device sends the saved user information to the server. The server stores the received user information in a database and categorizes the interest information by category. Input: User information sent from the device. Output: User information saved in the database and interest information by category.

[0258] Step 3:

[0259] The server periodically obtains content information from multiple content provision services via API. The obtained data is sent to the server and analyzed. Input: Content information from content provision services. Output: Analyzed metadata.

[0260] Step 4:

[0261] The server indexes the parsed content metadata (genre, cast, release date, etc.) and stores it in a database. Input: Parsed metadata. Output: Indexed metadata.

[0262] Step 5:

[0263] The server matches the user's interests with the metadata of the indexed content to generate a customized program listing, which is stored in a separate user database. Input: User's interests and indexed metadata. Output: Customized program listing.

[0264] Step 6:

[0265] The terminal receives the program guide generated from the server and displays it on the application. The user can view the received program guide. Input: Customized program guide sent from the server. Output: Program guide displayed on the user terminal.

[0266] Step 7:

[0267] When a user watches content, their viewing history is recorded on the device and sent to the server after viewing is complete. After viewing, the user enters feedback and ratings. Input: Viewing history and feedback. Output: Viewing history recorded on the device and feedback stored on the server.

[0268] Step 8:

[0269] The server stores the received viewing history and feedback in a database and reflects it in future recommendations. This enables customized recommendations based on each user's viewing history and ratings. Input: Viewing history and feedback. Output: Updated database and next recommendation data.

[0270] Step 9:

[0271] The server suggests appropriate communities based on the user's viewing history and interests. The user can join the suggested communities and interact with other users. Input: Viewing history and interest information. Output: Suggested community information and communities the user has joined.

[0272] In this way, the system optimizes the user's viewing experience and improves convenience and entertainment value through smart devices.

[0273] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0274] This invention relates to a "My Program Guide" system for optimizing the user's viewing experience. In particular, it is not only based on the user's interest information, but also recognizes the user's emotions and uses them to realize more advanced recommendations. The purpose of this system is to generate and provide a program guide customized based on the user's interests.

[0275] Collection of User Information

[0276] User

[0277] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0278] Terminal

[0279] The entered user information is temporarily saved and sent to the server.

[0280] server

[0281] The received user information is stored in a database, and interest information is categorized and stored.

[0282] Generating a Content Index

[0283] server

[0284] Content information is periodically obtained from multiple video services using APIs.

[0285] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0286] The parsed metadata is indexed and stored in a database.

[0287] Generating and providing program guides

[0288] server

[0289] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[0290] The generated program guide is stored in a database for each user and sent to the user's terminal.

[0291] Terminal

[0292] The received program guide is displayed within the application.

[0293] Specific examples

[0294] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, and User A can view it within the app.

[0295] Introducing the Emotion Engine

[0296] Terminal

[0297] While the user is watching the content, an emotion engine is used to analyze the user's facial expressions and voice using the device's camera and microphone.

[0298] The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server.

[0299] server

[0300] The received emotion data is stored in a database along with the viewing history and feedback.

[0301] The user's viewing history and emotional data are analyzed and reflected in the next recommendation.

[0302] Specific examples

[0303] While User A is watching an action movie, the emotion engine analyzes User A's facial expressions through the device's camera and recognizes emotions such as "surprise" and "excitement." This emotion data is sent to the server and stored in a database along with the user's viewing history. The next time User A watches an action movie, the server will recommend a new action movie that is likely to make User A feel "surprised" or "excited."

[0304] Obtaining viewing history and feedback

[0305] Terminal

[0306] The history of when a user views content is recorded and sent to the server.

[0307] Provide an interface for entering feedback and ratings after viewing.

[0308] server

[0309] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0310] Community Features

[0311] server

[0312] Suggest appropriate communities based on the user's viewing history and interests.

[0313] Moderate conversations and comments within the community.

[0314] Terminal

[0315] Providing a community participation interface that allows users to interact with other users.

[0316] Specific examples

[0317] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[0318] The above is a concrete example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[0319] The processing flow will be explained below.

[0320] Step 1:

[0321] User

[0322] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0323] Step 2:

[0324] Terminal

[0325] The entered user information is temporarily saved and sent to the server.

[0326] Step 3:

[0327] server

[0328] The received user information is saved in the database.

[0329] Categorize and save interest information by category.

[0330] Step 4:

[0331] server

[0332] Content information is periodically obtained from multiple video services using APIs.

[0333] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0334] The parsed metadata is indexed and stored in a database.

[0335] Step 5:

[0336] server

[0337] Matching user interests with the metadata of indexed content.

[0338] A customized program guide is generated and stored in a database for each user.

[0339] Step 6:

[0340] server

[0341] The generated program guide is transmitted to the user terminal.

[0342] Step 7:

[0343] Terminal

[0344] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[0345] Step 8:

[0346] User

[0347] Select the content you want to watch from the program guide and start watching.

[0348] Step 9:

[0349] Terminal

[0350] While watching content, an emotion engine is activated that uses the device's camera and microphone to analyze the user's facial expressions and voice.

[0351] The emotion engine recognizes the user's emotions in real time and sends the data to the server.

[0352] Step 10:

[0353] server

[0354] The received emotion data is stored in a database along with the viewing history and feedback.

[0355] The system analyzes the user's viewing history and emotional data, and reflects that data in the next recommendation.

[0356] Step 11:

[0357] Terminal

[0358] It records the user's viewing history of content and provides an interface that allows them to enter feedback (ratings and comments) after viewing.

[0359] Step 12:

[0360] server

[0361] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0362] Step 13:

[0363] server

[0364] We suggest appropriate communities based on users' viewing history and interests.

[0365] Step 14:

[0366] Terminal

[0367] Providing a community participation interface that allows users to interact with other users.

[0368] Step 15:

[0369] User

[0370] Join suggested communities to share and interact with other users.

[0371] As a concrete example, let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves information on the latest action movies and comedy dramas from multiple video services and stores it in a database. Next, the server matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app. Additionally, while User A is watching an action movie, the emotion engine recognizes emotions such as "excitement" and "surprise," and this data is sent to the server. From the next time onwards, the server can recommend new action movies that are likely to make User A feel "excited" or "surprised."

[0372] These are the specific processing steps for implementing a system that combines "My TV Guide" and an emotion engine, allowing users to enjoy a more personalized viewing experience based on their own interests and emotions.

[0373] Example 2

[0374] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0375] Conventional program recommendation systems only recommend programs based on the user's interests, limiting their ability to optimize the viewing experience. Furthermore, because they are based solely on viewing history and feedback, they face the challenge of being unable to provide flexible recommendations that adapt to changes in the user's emotions. Another problem is the lack of community features that allow users to interact with other users who share the same hobbies and interests.

[0376] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0377] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple video services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in next recommendations; means for recognizing the user's emotions in real time and transmitting the emotion data to the server; and means for generating next recommendations based on the user's emotion data and viewing history. This enables more accurate recommendations based on the user's emotional changes and viewing history, optimizing the viewing experience. It also provides a community function that promotes interaction between users.

[0378] "User interest-based information" is information related to a user's hobbies and preferences, including a user's favorite genres, actors, themes, etc.

[0379] "Multiple video services" refers to multiple online platforms and providers that offer video content such as movies and dramas.

[0380] "Content information" is detailed data such as the title, genre, cast, and release date of the video provided by the video service.

[0381] "Metadata" refers to attribute data such as genre, cast, and release date obtained by analyzing content information.

[0382] "Indexing" is the process of organizing analyzed metadata into a format that is easy to search and storing it in a database.

[0383] A "customized program listing" is a program listing that is individually tailored based on a user's interests and indexed metadata.

[0384] A "user terminal" is a device used by a user to access the system, such as a smartphone, tablet, or PC.

[0385] A "viewing history" is a list of content a user has viewed and associated data such as viewing time and frequency.

[0386] "Feedback" refers to information such as ratings and comments provided by users regarding content they have viewed.

[0387] "Recognizing emotions in real time" refers to the process of using the device's sensors to analyze changes in the user's facial expressions and voice to extract their current emotional state.

[0388] "Emotional Data" refers to data on a user's emotional state recognized in real time.

[0389] "Recommendation" means suggesting the most suitable content to a user based on the user's interests, viewing history, feedback, and emotional data.

[0390] The "community function" provides an online space where users can interact with each other, enabling them to share information and engage in conversations based on common interests and hobbies.

[0391] The present invention is a "My Program Guide" system for optimizing the user's viewing experience, and in particular, recognizes the user's emotions in real time and provides advanced recommendations based on them. The system aims to generate and provide a program guide by customizing the user's interest information.

[0392] System configuration

[0393] The system is implemented using the following hardware and software:

[0394] server

[0395] Database management system: Uses MongoDB or similar to manage user information, viewing history, and emotional data.

[0396] Data analysis library: Analyze user data and content data using Python's pandas, etc.

[0397] API communication library: Uses requests to periodically obtain content information from multiple video services (e.g., Netflix, Amazon Prime).

[0398] Sentiment analysis engine: Using TensorFlow, OpenCV, etc., it recognizes user emotions and stores them in a database.

[0399] Search engine: Use Elasticsearch to efficiently search indexed content information.

[0400] Terminal

[0401] Mobile Applications: Provides applications that run on Android or iOS smartphones or tablets, allowing users to enter basic information and interests and view a customized program listing.

[0402] Emotion analysis sensor: Uses the camera and microphone of a smartphone or tablet to analyze the user's facial expressions and voice in real time.

[0403] Program processing explanation

[0404] Collection of User Information

[0405] A user launches a mobile application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.). The device temporarily stores the entered information and sends it to the server. The server stores the received information in a database and organizes the interests by category.

[0406] Generating a Content Index

[0407] The server periodically retrieves content information from multiple video services via APIs. It analyzes the retrieved content information and generates metadata such as genre, cast, and release date. This metadata is indexed using Elasticsearch and stored in a database.

[0408] Generating and providing program guides

[0409] The server compares the user's interests with the metadata of the indexed content to generate a customized program guide. The generated program guide is stored in a database for each user and sent to the user's device. The device displays the received program guide within the application.

[0410] Emotion data collection and analysis

[0411] While a user is viewing content, the device's camera and microphone are used to analyze the user's facial expressions and voice. The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server. The server stores the received emotion data in a database along with the user's viewing history and reflects it in the next recommendation.

[0412] Collecting viewing history and feedback

[0413] The device records the user's viewing history of content and sends it to the server. It also provides an interface for users to enter feedback and ratings after viewing. The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[0414] Community Features

[0415] The server recommends appropriate communities based on the user's viewing history and interests. Users can join communities and interact with other users through their devices. The server manages conversations and comments within the communities.

[0416] Specific examples

[0417] User A enters that he or she is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[0418] Prompt Sentence Examples

[0419] Generate a customized program listing using the following information:

[0420] User name: User A

[0421] Favorite genres: Action movies, comedy dramas

[0422] Viewing history: I've been watching a lot of action movies lately

[0423] Recent emotional data: Surprise, excitement

[0424] Suggested communities: Action movie fans, comedy drama lovers

[0425] The above is a specific example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[0426] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0427] Step 1:

[0428] Enter and submit user information

[0429] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.).

[0430] The terminal temporarily stores the input information and transmits it to the server.

[0431] Input data: User's basic information and interests

[0432] Output data: User information sent to the server

[0433] Step 2:

[0434] How we store and classify your information

[0435] The server stores the received user information in a database and categorizes the interest information by category. For example, user A's data may be categorized into "action movies" and "comedies."

[0436] Input data: Received user information (basic information + interest information)

[0437] Output data: User information stored in a database

[0438] Step 3:

[0439] Content collection and indexing

[0440] The server periodically obtains content information from multiple video services using APIs (e.g., Netflix API, Amazon Prime API), analyzes the obtained content information, generates metadata such as genre, cast, and release date, and indexes it using Elasticsearch.

[0441] Input data: Content information obtained from video services

[0442] Output data: Metadata of indexed content

[0443] Specifically, the server sends a request to a specific API endpoint and analyzes the data returned in response to extract metadata.

[0444] Step 4:

[0445] Generate and send customized program listings

[0446] The server compares the user's interests with the indexed metadata to generate a customized program guide for each user, which is then stored in a database for each user and sent to the device.

[0447] Input data: user interests, indexed metadata

[0448] Output data: Program listings customized for each user

[0449] Specifically, the server uses an SQL query to extract the necessary content from the database and generates a program guide based on that content.

[0450] Step 5:

[0451] Displaying the program guide

[0452] The device displays the received program guide within the application. For example, User A's device displays a list of the latest information on "action movies" and "comedy dramas."

[0453] Input data: customized program guide received from the server

[0454] Output data: Program listings displayed within the application

[0455] Step 6:

[0456] Detecting and transmitting emotion data

[0457] While the user is watching content, the device's emotion engine uses the device's camera and microphone to analyze the user's facial expressions and voice in real time, and the analysis results are sent to the server.

[0458] Input data: User's facial expressions and voice

[0459] Output data: Analyzed emotion data

[0460] Specifically, the device uses OpenCV and TensorFlow to analyze facial expressions and sends the results to the server at regular intervals.

[0461] Step 7:

[0462] Emotion data storage and analysis

[0463] The server stores the received emotion data in a database along with the viewing history and analyzes it to reflect in the next recommendation.

[0464] Input data: received emotion data, viewing history

[0465] Output data: Analysis data reflected in recommendations

[0466] Specifically, the server uses machine learning algorithms to analyze emotional data and viewing history and update the recommendation model.

[0467] Step 8:

[0468] Viewing history and sending feedback

[0469] The device records the user's viewing history and sends it to the server, and also provides an interface for users to enter feedback and ratings after viewing.

[0470] Input data: information about content viewed by users, user feedback

[0471] Output data: Viewing history and feedback sent to the server

[0472] Step 9:

[0473] Saving and analyzing viewing history and feedback

[0474] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[0475] Input data: received viewing history and feedback

[0476] Output data: Viewing history and feedback data reflected in recommendations

[0477] Specifically, the server adds the newly acquired data to the database and reflects it in the recommendation algorithm.

[0478] Step 10:

[0479] Community Suggestions and Participation

[0480] The server suggests appropriate communities based on the user's viewing history and interests, and the user can join the communities and interact with other users through their device.

[0481] Input data: viewing history, interest information

[0482] Output data: Community information suggested to the user

[0483] Specifically, the server compares viewing history and interest information to suggest appropriate communities to users. The server manages conversations and comments within the communities in which users participate.

[0484] The above is a description of the specific processing steps of the present invention.

[0485] (Application example 2)

[0486] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0487] Conventional content distribution services provide customized program guides based on users' interests, but do not consider the user's emotions when making recommendations. As a result, users may view content based on their interests, but the viewing experience may not always be optimal. Therefore, a system is needed that provides a more optimized viewing experience by making recommendations that take into account the user's emotional data when viewing.

[0488] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0489] In this invention, the server includes means for inputting information based on a user's interests, means for acquiring content information from multiple content distribution services, means for analyzing the acquired content information to generate and index metadata, means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to a user terminal, means for acquiring and storing the user's viewing history and feedback, means for reflecting the stored viewing history and feedback in the next recommendation, means for collecting and analyzing user emotion data using a camera or microphone of the terminal, and means for optimizing recommended content based on the collected emotion data. This makes it possible to reflect the user's emotions while watching in real time and to recommend optimal content that takes into account the emotion data as well as the interest information.

[0490] "User interest information" refers to information about the user's interests and preferences in specific genres, themes, performers, etc.

[0491] "Content information" refers to video and audio data and its metadata obtained from multiple content distribution services.

[0492] "Metadata" is additional information that describes the content, such as the genre of the content, the cast, and the release date.

[0493] "Indexing" is the process of organizing and structuring acquired metadata to make it easier to search and categorize.

[0494] A "customized program guide" is a personalized viewing guide created for each user based on the user's interests and indexed metadata.

[0495] "Viewing history" is a record of content that a user has viewed in the past.

[0496] "Feedback" refers to ratings and comments that users make about the content they have viewed.

[0497] "Terminal" refers to a device used by a user, such as a smartphone, smart glasses, or head-mounted display.

[0498] "Emotion data" is data that indicates emotions such as joy, anger, sadness, and happiness that a user expresses while watching.

[0499] "Emotion recognition" is the process of analyzing emotions from a user's facial expressions and voice using the device's camera and microphone.

[0500] The present invention is a system that recommends optimal content based on user interest information and real-time emotional data. This system operates by linking the user's terminal, a server, and multiple content distribution services.

[0501] Collection of User Information

[0502] user

[0503] Users start up a device with the dedicated application installed and enter basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen.

[0504] Terminal

[0505] The terminal temporarily stores the entered user information and transmits it to the server.

[0506] server

[0507] The server stores the received user information in a database and classifies and stores the interest information by category.

[0508] Generating a Content Index

[0509] server

[0510] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[0511] Generating and providing program guides

[0512] server

[0513] The server compares the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[0514] Terminal

[0515] The terminal displays the received program guide within the application.

[0516] Introducing the Emotion Engine

[0517] Terminal

[0518] While a user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time and sends the results to the server.

[0519] server

[0520] The server stores the received emotion data in a database along with viewing history and feedback, analyzes them, and reflects them in the next recommendation.

[0521] Obtaining viewing history and feedback

[0522] Terminal

[0523] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[0524] server

[0525] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[0526] Community Features

[0527] server

[0528] The server suggests appropriate communities based on the user's viewing history and interests, and manages the conversations and comments.

[0529] Terminal

[0530] The terminal provides a community participation interface, allowing users to interact with other users.

[0531] Specific examples

[0532] Example 1

[0533] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple content distribution services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[0534] Example 2

[0535] While User B is watching a drama, the emotion engine analyzes User B's facial expressions through the device's camera and recognizes emotions such as "emotion" and "enjoyment." This emotion data is sent to the server and stored in a database along with the viewing history. Next time, the server will recommend new dramas that User B is likely to find "emotional" or "enjoyable."

[0536] Prompt Sentence Examples

[0537] "Please give us an overview of your system that recommends the next content to watch based on a user's viewing history and real-time emotional data. What emotional data does it collect, and how does it combine it with the viewing history to make recommendations? Also, what algorithms and technologies does this system use?"

[0538] Please explain the "My Program Guide" system, which uses an emotion engine to optimize the user's viewing experience, and provide examples of how the system uses the user's real-time emotion data and viewing history to make next recommendations.

[0539] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0540] Step 1:

[0541] The user starts up the device on which the dedicated application is installed and enters basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen. The device temporarily stores the entered user information and sends it to the server.

[0542] Input: Name, age, gender, interests

[0543] Output: User information sent to the server

[0544] Step 2:

[0545] The server stores the received user information in a database and classifies and stores the interest information by category.

[0546] Input: User information

[0547] Output: Interests sorted by category

[0548] Step 3:

[0549] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[0550] Input: Content information obtained from the API of each content distribution service

[0551] Output: Indexed metadata

[0552] Step 4:

[0553] The server matches the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[0554] Input: User interests, indexed metadata

[0555] Output: Customized program guide

[0556] Step 5:

[0557] The terminal displays the received program guide within the application.

[0558] Input: Customized Program Guide

[0559] Output: Program listings displayed within the application

[0560] Step 6:

[0561] While the user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time, sending the results to the server.

[0562] Input: User facial expressions and voice collected by camera and microphone

[0563] Output: Emotion data sent to the server

[0564] Step 7:

[0565] The server stores the received emotion data in a database along with the viewing history and feedback. The stored viewing history and feedback are analyzed and reflected in the next recommendation.

[0566] Input: Emotional data, viewing history, feedback

[0567] Output: Analysis data to be reflected in the next recommendation

[0568] Step 8:

[0569] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[0570] Input: Viewing history, feedback

[0571] Output: Viewing history and feedback data sent to the server

[0572] Step 9:

[0573] The server recommends appropriate communities based on the user's viewing history and interests, and manages the conversations and comments. Users can interact with other users through a community participation interface.

[0574] Input: Viewing history, interest information

[0575] Output: Suggested communities, moderated conversations and comments

[0576] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0577] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0578] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0579] [Second embodiment]

[0580] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0581] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0582] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0583] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0584] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0585] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0586] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0587] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0588] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0589] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0590] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0591] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0592] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[0593] Collection of User Information

[0594] User

[0595] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0596] Terminal

[0597] The entered user information is temporarily saved and sent to the server.

[0598] server

[0599] The received user information is stored in a database, and interest information is categorized and stored.

[0600] Generating a Content Index

[0601] server

[0602] Content information is periodically obtained from multiple video services using APIs.

[0603] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0604] The parsed metadata is indexed and stored in a database.

[0605] Generating and providing program guides

[0606] server

[0607] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[0608] The generated program guide is stored in a database for each user and sent to the user's terminal.

[0609] Terminal

[0610] The received program guide is displayed within the application.

[0611] Specific examples

[0612] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movies and comedy dramas from Netflix and other video services and stores them in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app.

[0613] Obtaining viewing history and feedback

[0614] Terminal

[0615] The history of when a user views content is recorded and sent to the server.

[0616] Provide an interface for entering feedback and ratings after viewing.

[0617] server

[0618] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0619] Specific examples

[0620] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can take User A's viewing history and feedback into account to provide more accurate recommendations.

[0621] Community Features

[0622] server

[0623] Suggest appropriate communities based on the user's viewing history and interests.

[0624] Moderate conversations and comments within the community.

[0625] Terminal

[0626] Providing a community participation interface that allows users to interact with other users.

[0627] Specific examples

[0628] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[0629] The above is a concrete example of how to implement the "My Program Guide" system of the present invention. This system allows users to have an optimized viewing experience and significantly reduces the effort required to find content.

[0630] The processing flow will be explained below.

[0631] Step 1:

[0632] User

[0633] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0634] Step 2:

[0635] Terminal

[0636] The entered user information is temporarily saved and sent to the server.

[0637] Step 3:

[0638] server

[0639] The received user information is saved in the database.

[0640] The interest information is categorized and stored in a database.

[0641] Step 4:

[0642] server

[0643] Content information is periodically obtained from multiple video services using APIs.

[0644] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0645] The parsed metadata is indexed and stored in a database.

[0646] Step 5:

[0647] server

[0648] Matching user interests with the metadata of indexed content.

[0649] A customized program guide is generated and stored in a database for each user.

[0650] Step 6:

[0651] server

[0652] The generated program guide is transmitted to the user terminal.

[0653] Step 7:

[0654] Terminal

[0655] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[0656] Step 8:

[0657] User

[0658] Select the content you want to watch from the program guide and start watching.

[0659] Step 9:

[0660] Terminal

[0661] Record the history of when a user views content.

[0662] Provide an interface for entering feedback and ratings after viewing.

[0663] Step 10:

[0664] server

[0665] The obtained viewing history and feedback are stored in a database.

[0666] Your saved viewing history and feedback will be reflected in your next recommendations.

[0667] Step 11:

[0668] server

[0669] Suggest appropriate communities based on the user's viewing history and interests.

[0670] Step 12:

[0671] Terminal

[0672] Providing a community participation interface that allows users to interact with other users.

[0673] Step 13:

[0674] User

[0675] Join suggested communities to share and interact with other users.

[0676] These are the specific processing steps of the "My TV Guide" system program, which allows users to easily find content that matches their interests and enrich their viewing experience.

[0677] Example 1

[0678] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0679] Currently, many users use multiple video streaming services, but because the content provided by each service differs, it is difficult to efficiently find content that matches their interests.In addition, because there is no system that provides personalized program guides or community functions based on users' interests and viewing history, users are unable to optimize their viewing experience and it takes a lot of effort to find appropriate content.

[0680] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0681] In this invention, the server includes a means for inputting basic information and interest information of a user, a means for acquiring content information from multiple video distribution services, and a means for analyzing the acquired content information to generate and index metadata, thereby enabling the generation and provision of a personalized program guide based on the user's interest information and viewing history.

[0682] The server includes means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to the user terminal, and means for acquiring and storing the user's viewing history and feedback, thereby further optimizing the user's viewing experience and reducing the effort required for content discovery.

[0683] The server also includes a means for reflecting the saved viewing history and feedback in the next recommendation, a means for suggesting a community based on the user's viewing history and feedback, and a means for the user to join the suggested community and interact with other users, thereby promoting interaction between users and contributing to an improved viewing experience.

[0684] Furthermore, it includes a means for periodically updating the program guide customized for each user based on the interest information entered by the user, thereby making it possible to always provide the latest program information and propose the most suitable content according to the user's interests.

[0685] A "user" is an individual who uses the system and enters their basic information and interests.

[0686] "Basic information" refers to basic data such as the user's name, age, and gender.

[0687] "Interest information" is data about a user's hobbies and preferences, such as favorite genres, actors, and themes.

[0688] A "video distribution service" is a platform that provides video content over the Internet.

[0689] "Content information" is data related to video content provided by video distribution services.

[0690] "Metadata" is auxiliary data such as genre, cast, and release date that is generated by analyzing acquired content information.

[0691] "Indexing" is the process of organizing metadata based on specific criteria to make it easier to search and match.

[0692] A "program guide" is a list of viewing schedules customized based on the user's interests and metadata.

[0693] "Viewing history" is a record of the content a user has viewed to date.

[0694] "Feedback" refers to ratings and comments that users enter about the content they have viewed.

[0695] "Recommendations" refer to content suggested by the system based on the user's interests, viewing history, and feedback.

[0696] A "community" is a group where users with similar interests can interact with each other.

[0697] "Participation interface" refers to the screens and functions that allow users to participate in a community.

[0698] "Periodic updating" refers to the process of reflecting the latest data at regular intervals.

[0699] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[0700] Collection of User Information

[0701] User

[0702] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0703] Terminal

[0704] The device temporarily stores the entered user information and sends it to the server, using the HTTPS protocol for this process.

[0705] server

[0706] The server stores the received user information in a database using MySQL, and the data is categorized and stored (basic information, interests, etc.).

[0707] Generating a Content Index

[0708] server

[0709] The server periodically obtains content information from multiple video streaming services using APIs, and sends HTTP requests using the Python Requests library.

[0710] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated. Python's JSON library is used for analysis.

[0711] The indexed metadata is stored in a database using MySQL.

[0712] Generating and providing program guides

[0713] server

[0714] The server matches user interests with the metadata of the indexed content to generate a customized program guide, using the Pandas library.

[0715] The server generates a customized program guide, which may be generated using machine learning libraries such as Scikit-learn.

[0716] The generated program guide is sent to the user's device. To do this, we implement a RESTful API using Flask.

[0717] Terminal

[0718] The device displays the received program guide in the application, which is presented to the user using React Native.

[0719] Specific examples

[0720] If User A is interested in "action movies" and "comedy dramas," the server retrieves information from Netflix and other video streaming services, compares it with the database, and generates a program guide. This program guide is sent to User A's device and displayed in an app using React Native.

[0721] Obtaining viewing history and feedback

[0722] Terminal

[0723] The device keeps track of the content the user has viewed; this is done using a local database (such as SQLite).

[0724] The viewing history is periodically sent to the server using the HTTPS protocol.

[0725] It provides an interface for users to enter feedback and ratings after watching the video. The UI is built using React Native.

[0726] server

[0727] The server stores the obtained viewing history and feedback in a database and reflects it in the next recommendation. MySQL is used for storage, and collaborative filtering is used as the recommendation algorithm.

[0728] Specific examples

[0729] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can provide more accurate recommendations based on this data.

[0730] Community Features

[0731] server

[0732] The server recommends appropriate communities based on the user's viewing history and interests. The algorithm may use the Recommenderlab package in the R programming language.

[0733] The server manages conversations and comments within the community, using MongoDB for management.

[0734] Terminal

[0735] The terminal provides a community participation interface that allows users to interact with other users, and the interface was built using React Native.

[0736] Specific examples

[0737] User A can join a community of "action movie fans" and share movie reviews and recommendations with other users. The joining interface is implemented using React Native, and the community data is managed using MongoDB.

[0738] This provides users with an optimized viewing experience and significantly reduces the effort required for content discovery.

[0739] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0740] Step 1: Enter and submit your user registration information

[0741] User

[0742] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0743] Terminal

[0744] The entered user information is temporarily saved and sent to the server using HTTPS. The input here is the user information, and the output is the user information sent to the server.

[0745] Step 2: Receiving and storing user information

[0746] server

[0747] The server stores the received user information in a MySQL database. The data is categorized and stored into categories (basic information, interests, etc.). The input is user information, and the output is the user information stored in the database.

[0748] Step 3: Obtaining and parsing content information

[0749] server

[0750] The server uses Python's Requests library to periodically retrieve content information from the APIs of multiple video streaming services. The retrieved content information is parsed in JSON format, and metadata (genre, cast, release date, etc.) is generated using Python's json library. The input is the content information retrieved from the API, and the output is the generated metadata.

[0751] Step 4: Indexing and storing metadata

[0752] server

[0753] The server indexes the generated metadata and stores it in a MySQL database. Indexing involves organizing it based on specific fields to facilitate searching and matching. The input is the generated metadata, and the output is the indexed and stored metadata.

[0754] Step 5: Generate a customized program guide

[0755] server

[0756] The server uses the Pandas library to match user interests with indexed metadata to generate a customized program listing. It may also use machine learning libraries such as Scikit-learn for more advanced recommendations. The input is user interests and metadata, and the output is a customized program listing.

[0757] Step 6: Send and display your customized program listings

[0758] server

[0759] The generated customized program guide is sent to the user's device in the form of a RESTful API using Flask. The input is the customized program guide data, and the output is an HTTP response.

[0760] Terminal

[0761] The received program guide data is displayed in the application using React Native. The input is the program guide data received in the HTTP response, and the output is a program guide display that can be viewed by the user.

[0762] Step 7: Record and submit viewing history and feedback

[0763] Terminal

[0764] The user's viewing history of content is recorded and saved in a local database (such as SQLite). This is then periodically sent to the server using HTTPS. After viewing, an interface is provided for the user to enter feedback and ratings. The input is the user's viewing history and feedback, and the output is the history information to be sent.

[0765] server

[0766] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation. The recommendation algorithm uses collaborative filtering. The input is the viewing history and feedback, and the output is updated recommendation data.

[0767] Step 8: Propose and manage your community

[0768] server

[0769] The server suggests appropriate communities based on the user's viewing history and interests. The suggestion algorithm may use the Recommenderlab package in the R programming language. MongoDB is also used to manage conversations and comments within the communities. The input is viewing history and interest information, and the output is suggested community information.

[0770] Terminal

[0771] The terminal provides a community participation interface, allowing users to interact with other users. The interface is built using React Native. The input is the proposed community information, and the output is the user's participation status and conversation data within the community.

[0772] The above processing steps are expected to provide users with an optimized viewing experience and significantly reduce the effort required for content discovery.

[0773] (Application example 1)

[0774] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0775] Conventional content distribution services lack systems that provide optimal program listings based on users' interests. Furthermore, they lack future recommendation features that take into account users' viewing history and feedback, and community features that allow users to communicate with other users who share similar interests. As a result, users have to spend a lot of time finding content that suits them from the vast amount of content available, resulting in a poor quality viewing experience.

[0776] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0777] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple content provision services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in subsequent recommendations; and means for acquiring and displaying the program guide customized based on the user information on a smart device. This not only provides users with a program guide optimized based on their interests, but also allows them to easily access and view programs via their smart device. Furthermore, reflecting viewing history and feedback in subsequent recommendations improves the user's viewing experience, and the community function promotes interaction with other users.

[0778] "User Information" refers to basic personal information such as name, age, gender, and interests that a User enters into the Application.

[0779] "Content provision service" refers to an online platform that provides multiple digital content such as video and audio.

[0780] "Metadata" is analyzed information including the genre, cast, release date, etc. of the content, and is data that describes the attributes of the content.

[0781] "Indexing" is the process of organizing parsed metadata by categories and tags to generate a data structure that facilitates searching and browsing.

[0782] A "program guide" is a schedule or list of content customized based on a user's interests.

[0783] "User terminal" refers to an electronic device such as a smartphone, tablet, or PC, which is used by a user to use an application.

[0784] "Viewing history" is a record of content viewed by a user, and includes data such as viewing date, viewing time, and viewed content.

[0785] "Feedback" refers to data on impressions and opinions, such as ratings and comments given by users after viewing a video.

[0786] "Recommendations" is a feature that provides recommended content to watch next based on the user's interests, viewing history, and feedback.

[0787] A "smart device" is an electronic device that has the ability to connect to the Internet and run multiple applications, and includes smartphones, tablets, smart TVs, etc.

[0788] The "community function" is a feature that allows users with common interests to interact with each other and share information and opinions.

[0789] "Customization" is the process of individually tailoring services and content to the preferences and interests of a particular user.

[0790] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, and the details of an embodiment of the system will be described below.

[0791] Collection of User Information

[0792] Users launch the "My Program Guide" application on their smartphone and enter basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. This information is temporarily stored on the device and then sent to the server. The server stores the received user information in a database and classifies and stores the interest information by category.

[0793] Generating a Content Index

[0794] The server periodically retrieves content information from multiple content providers via API. The retrieved content information is analyzed to generate metadata such as the content's genre, cast, and release date. This metadata is then indexed and stored in a database.

[0795] Generating and providing program guides

[0796] The server compares the user's interest information with the metadata of the indexed content to generate a customized program guide, which is stored in a database for each user and sent to the user's device. Users can then view the program guide through an application on their smartphone.

[0797] Obtaining viewing history and feedback

[0798] When a user watches content, their viewing history is recorded on their device and sent to the server. After viewing, they are provided with an interface to input feedback and ratings. The server stores this information in a database and reflects it in future recommendations.

[0799] Community Features

[0800] The server has the function of suggesting appropriate communities based on the user's viewing history and interests. Users can join the suggested communities and interact with other users through an application on their smartphone. For this reason, the server also has a function to manage conversations and comments within the communities.

[0801] Hardware and software used

[0802] The system uses user devices such as smartphones, tablets, and PCs. The server requires advanced data processing and storage capabilities, and the software used includes data acquisition via API, a database management system, and a big data processing platform.

[0803] For example, if User A is interested in "action movies" and "comedy dramas," the server will use this information to obtain information on the latest action movies and comedy dramas and generate a customized program guide. This will be sent to User A's smartphone, where User A can view it within the app. Furthermore, after watching, User A can provide feedback, which can be reflected in future recommendations.

[0804] Prompt Sentence Examples

[0805] Assume that User A is interested in action movies and comedy dramas. Your application should retrieve the latest action movie and comedy drama information from a content provider service for User A and generate a customized program guide for User A. Additionally, add a feature to suggest communities that User A is interested in and allow them to share movie reviews and recommendations.

[0806] In this way, a system is provided that significantly improves the user's viewing experience.

[0807] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0808] Step 1:

[0809] The user launches the "My Program Guide" application on their smartphone and enters basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. The input data is temporarily saved on the device. Input: User's basic information and interest information. Output: Temporarily saved user data.

[0810] Step 2:

[0811] The device sends the saved user information to the server. The server stores the received user information in a database and categorizes the interest information by category. Input: User information sent from the device. Output: User information saved in the database and interest information by category.

[0812] Step 3:

[0813] The server periodically obtains content information from multiple content provision services via API. The obtained data is sent to the server and analyzed. Input: Content information from content provision services. Output: Analyzed metadata.

[0814] Step 4:

[0815] The server indexes the parsed content metadata (genre, cast, release date, etc.) and stores it in a database. Input: Parsed metadata. Output: Indexed metadata.

[0816] Step 5:

[0817] The server matches the user's interests with the metadata of the indexed content to generate a customized program listing, which is stored in a separate user database. Input: User's interests and indexed metadata. Output: Customized program listing.

[0818] Step 6:

[0819] The terminal receives the program guide generated from the server and displays it on the application. The user can view the received program guide. Input: Customized program guide sent from the server. Output: Program guide displayed on the user terminal.

[0820] Step 7:

[0821] When a user watches content, their viewing history is recorded on the device and sent to the server after viewing is complete. After viewing, the user enters feedback and ratings. Input: Viewing history and feedback. Output: Viewing history recorded on the device and feedback stored on the server.

[0822] Step 8:

[0823] The server stores the received viewing history and feedback in a database and reflects it in future recommendations. This enables customized recommendations based on each user's viewing history and ratings. Input: Viewing history and feedback. Output: Updated database and next recommendation data.

[0824] Step 9:

[0825] The server suggests appropriate communities based on the user's viewing history and interests. The user can join the suggested communities and interact with other users. Input: Viewing history and interest information. Output: Suggested community information and communities the user has joined.

[0826] In this way, the system optimizes the user's viewing experience and improves convenience and entertainment value through smart devices.

[0827] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0828] This invention relates to a "My Program Guide" system for optimizing the user's viewing experience. In particular, it is not only based on the user's interest information, but also recognizes the user's emotions and uses them to realize more advanced recommendations. The purpose of this system is to generate and provide a program guide customized based on the user's interests.

[0829] Collection of User Information

[0830] User

[0831] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0832] Terminal

[0833] The entered user information is temporarily saved and sent to the server.

[0834] server

[0835] The received user information is stored in a database, and interest information is categorized and stored.

[0836] Generating a Content Index

[0837] server

[0838] Content information is periodically obtained from multiple video services using APIs.

[0839] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0840] The parsed metadata is indexed and stored in a database.

[0841] Generating and providing program guides

[0842] server

[0843] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[0844] The generated program guide is stored in a database for each user and sent to the user's terminal.

[0845] Terminal

[0846] The received program guide is displayed within the application.

[0847] Specific examples

[0848] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, and User A can view it within the app.

[0849] Introducing the Emotion Engine

[0850] Terminal

[0851] While the user is watching the content, an emotion engine is used to analyze the user's facial expressions and voice using the device's camera and microphone.

[0852] The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server.

[0853] server

[0854] The received emotion data is stored in a database along with the viewing history and feedback.

[0855] The user's viewing history and emotional data are analyzed and reflected in the next recommendation.

[0856] Specific examples

[0857] While User A is watching an action movie, the emotion engine analyzes User A's facial expressions through the device's camera and recognizes emotions such as "surprise" and "excitement." This emotion data is sent to the server and stored in a database along with the user's viewing history. The next time User A watches an action movie, the server will recommend a new action movie that is likely to make User A feel "surprised" or "excited."

[0858] Obtaining viewing history and feedback

[0859] Terminal

[0860] The history of when a user views content is recorded and sent to the server.

[0861] Provide an interface for entering feedback and ratings after viewing.

[0862] server

[0863] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0864] Community Features

[0865] server

[0866] Suggest appropriate communities based on the user's viewing history and interests.

[0867] Moderate conversations and comments within the community.

[0868] Terminal

[0869] Providing a community participation interface that allows users to interact with other users.

[0870] Specific examples

[0871] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[0872] The above is a concrete example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[0873] The processing flow will be explained below.

[0874] Step 1:

[0875] User

[0876] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[0877] Step 2:

[0878] Terminal

[0879] The entered user information is temporarily saved and sent to the server.

[0880] Step 3:

[0881] server

[0882] The received user information is saved in the database.

[0883] Categorize and save interest information by category.

[0884] Step 4:

[0885] server

[0886] Content information is periodically obtained from multiple video services using APIs.

[0887] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[0888] The parsed metadata is indexed and stored in a database.

[0889] Step 5:

[0890] server

[0891] Matching user interests with the metadata of indexed content.

[0892] A customized program guide is generated and stored in a database for each user.

[0893] Step 6:

[0894] server

[0895] The generated program guide is transmitted to the user terminal.

[0896] Step 7:

[0897] Terminal

[0898] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[0899] Step 8:

[0900] User

[0901] Select the content you want to watch from the program guide and start watching.

[0902] Step 9:

[0903] Terminal

[0904] While watching content, an emotion engine is activated that uses the device's camera and microphone to analyze the user's facial expressions and voice.

[0905] The emotion engine recognizes the user's emotions in real time and sends the data to the server.

[0906] Step 10:

[0907] server

[0908] The received emotion data is stored in a database along with the viewing history and feedback.

[0909] The system analyzes the user's viewing history and emotional data, and reflects that data in the next recommendation.

[0910] Step 11:

[0911] Terminal

[0912] It records the user's viewing history of content and provides an interface that allows them to enter feedback (ratings and comments) after viewing.

[0913] Step 12:

[0914] server

[0915] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[0916] Step 13:

[0917] server

[0918] We suggest appropriate communities based on users' viewing history and interests.

[0919] Step 14:

[0920] Terminal

[0921] Providing a community participation interface that allows users to interact with other users.

[0922] Step 15:

[0923] User

[0924] Join suggested communities to share and interact with other users.

[0925] As a concrete example, let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves information on the latest action movies and comedy dramas from multiple video services and stores it in a database. Next, the server matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app. Additionally, while User A is watching an action movie, the emotion engine recognizes emotions such as "excitement" and "surprise," and this data is sent to the server. From the next time onwards, the server can recommend new action movies that are likely to make User A feel "excited" or "surprised."

[0926] These are the specific processing steps for implementing a system that combines "My TV Guide" and an emotion engine, allowing users to enjoy a more personalized viewing experience based on their own interests and emotions.

[0927] Example 2

[0928] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0929] Conventional program recommendation systems only recommend programs based on the user's interests, limiting their ability to optimize the viewing experience. Furthermore, because they are based solely on viewing history and feedback, they face the challenge of being unable to provide flexible recommendations that adapt to changes in the user's emotions. Another problem is the lack of community features that allow users to interact with other users who share the same hobbies and interests.

[0930] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0931] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple video services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in next recommendations; means for recognizing the user's emotions in real time and transmitting the emotion data to the server; and means for generating next recommendations based on the user's emotion data and viewing history. This enables more accurate recommendations based on the user's emotional changes and viewing history, optimizing the viewing experience. It also provides a community function that promotes interaction between users.

[0932] "User interest-based information" is information related to a user's hobbies and preferences, including a user's favorite genres, actors, themes, etc.

[0933] "Multiple video services" refers to multiple online platforms and providers that offer video content such as movies and dramas.

[0934] "Content information" is detailed data such as the title, genre, cast, and release date of the video provided by the video service.

[0935] "Metadata" refers to attribute data such as genre, cast, and release date obtained by analyzing content information.

[0936] "Indexing" is the process of organizing analyzed metadata into a format that is easy to search and storing it in a database.

[0937] A "customized program listing" is a program listing that is individually tailored based on a user's interests and indexed metadata.

[0938] A "user terminal" is a device used by a user to access the system, such as a smartphone, tablet, or PC.

[0939] A "viewing history" is a list of content a user has viewed and associated data such as viewing time and frequency.

[0940] "Feedback" refers to information such as ratings and comments provided by users regarding content they have viewed.

[0941] "Recognizing emotions in real time" refers to the process of using the device's sensors to analyze changes in the user's facial expressions and voice to extract their current emotional state.

[0942] "Emotional Data" refers to data on a user's emotional state recognized in real time.

[0943] "Recommendation" means suggesting the most suitable content to a user based on the user's interests, viewing history, feedback, and emotional data.

[0944] The "community function" provides an online space where users can interact with each other, enabling them to share information and engage in conversations based on common interests and hobbies.

[0945] The present invention is a "My Program Guide" system for optimizing the user's viewing experience, and in particular, recognizes the user's emotions in real time and provides advanced recommendations based on them. The system aims to generate and provide a program guide by customizing the user's interest information.

[0946] System configuration

[0947] The system is implemented using the following hardware and software:

[0948] server

[0949] Database management system: Uses MongoDB or similar to manage user information, viewing history, and emotional data.

[0950] Data analysis library: Analyze user data and content data using Python's pandas, etc.

[0951] API communication library: Uses requests to periodically obtain content information from multiple video services (e.g., Netflix, Amazon Prime).

[0952] Sentiment analysis engine: Using TensorFlow, OpenCV, etc., it recognizes user emotions and stores them in a database.

[0953] Search engine: Use Elasticsearch to efficiently search indexed content information.

[0954] Terminal

[0955] Mobile Applications: Provides applications that run on Android or iOS smartphones or tablets, allowing users to enter basic information and interests and view a customized program listing.

[0956] Emotion analysis sensor: Uses the camera and microphone of a smartphone or tablet to analyze the user's facial expressions and voice in real time.

[0957] Program processing explanation

[0958] Collection of User Information

[0959] A user launches a mobile application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.). The device temporarily stores the entered information and sends it to the server. The server stores the received information in a database and organizes the interests by category.

[0960] Generating a Content Index

[0961] The server periodically retrieves content information from multiple video services via APIs. It analyzes the retrieved content information and generates metadata such as genre, cast, and release date. This metadata is indexed using Elasticsearch and stored in a database.

[0962] Generating and providing program guides

[0963] The server compares the user's interests with the metadata of the indexed content to generate a customized program guide. The generated program guide is stored in a database for each user and sent to the user's device. The device displays the received program guide within the application.

[0964] Emotion data collection and analysis

[0965] While a user is viewing content, the device's camera and microphone are used to analyze the user's facial expressions and voice. The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server. The server stores the received emotion data in a database along with the user's viewing history and reflects it in the next recommendation.

[0966] Collecting viewing history and feedback

[0967] The device records the user's viewing history of content and sends it to the server. It also provides an interface for users to enter feedback and ratings after viewing. The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[0968] Community Features

[0969] The server recommends appropriate communities based on the user's viewing history and interests. Users can join communities and interact with other users through their devices. The server manages conversations and comments within the communities.

[0970] Specific examples

[0971] User A enters that he or she is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[0972] Prompt Sentence Examples

[0973] Generate a customized program listing using the following information:

[0974] User name: User A

[0975] Favorite genres: Action movies, comedy dramas

[0976] Viewing history: I've been watching a lot of action movies lately

[0977] Recent emotional data: Surprise, excitement

[0978] Suggested communities: Action movie fans, comedy drama lovers

[0979] The above is a specific example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[0980] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0981] Step 1:

[0982] Enter and submit user information

[0983] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.).

[0984] The terminal temporarily stores the input information and transmits it to the server.

[0985] Input data: User's basic information and interests

[0986] Output data: User information sent to the server

[0987] Step 2:

[0988] How we store and classify your information

[0989] The server stores the received user information in a database and categorizes the interest information by category. For example, user A's data may be categorized into "action movies" and "comedies."

[0990] Input data: Received user information (basic information + interest information)

[0991] Output data: User information stored in a database

[0992] Step 3:

[0993] Content collection and indexing

[0994] The server periodically obtains content information from multiple video services using APIs (e.g., Netflix API, Amazon Prime API), analyzes the obtained content information, generates metadata such as genre, cast, and release date, and indexes it using Elasticsearch.

[0995] Input data: Content information obtained from video services

[0996] Output data: Metadata of indexed content

[0997] Specifically, the server sends a request to a specific API endpoint and analyzes the data returned in response to extract metadata.

[0998] Step 4:

[0999] Generate and send customized program listings

[1000] The server compares the user's interests with the indexed metadata to generate a customized program guide for each user, which is then stored in a database for each user and sent to the device.

[1001] Input data: user interests, indexed metadata

[1002] Output data: Program listings customized for each user

[1003] Specifically, the server uses an SQL query to extract the necessary content from the database and generates a program guide based on that content.

[1004] Step 5:

[1005] Displaying the program guide

[1006] The device displays the received program guide within the application. For example, User A's device displays a list of the latest information on "action movies" and "comedy dramas."

[1007] Input data: customized program guide received from the server

[1008] Output data: Program listings displayed within the application

[1009] Step 6:

[1010] Detecting and transmitting emotion data

[1011] While the user is watching content, the device's emotion engine uses the device's camera and microphone to analyze the user's facial expressions and voice in real time, and the analysis results are sent to the server.

[1012] Input data: User's facial expressions and voice

[1013] Output data: Analyzed emotion data

[1014] Specifically, the device uses OpenCV and TensorFlow to analyze facial expressions and sends the results to the server at regular intervals.

[1015] Step 7:

[1016] Emotion data storage and analysis

[1017] The server stores the received emotion data in a database along with the viewing history and analyzes it to reflect in the next recommendation.

[1018] Input data: received emotion data, viewing history

[1019] Output data: Analysis data reflected in recommendations

[1020] Specifically, the server uses machine learning algorithms to analyze emotional data and viewing history and update the recommendation model.

[1021] Step 8:

[1022] Viewing history and sending feedback

[1023] The device records the user's viewing history and sends it to the server, and also provides an interface for users to enter feedback and ratings after viewing.

[1024] Input data: information about content viewed by users, user feedback

[1025] Output data: Viewing history and feedback sent to the server

[1026] Step 9:

[1027] Saving and analyzing viewing history and feedback

[1028] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[1029] Input data: received viewing history and feedback

[1030] Output data: Viewing history and feedback data reflected in recommendations

[1031] Specifically, the server adds the newly acquired data to the database and reflects it in the recommendation algorithm.

[1032] Step 10:

[1033] Community Suggestions and Participation

[1034] The server suggests appropriate communities based on the user's viewing history and interests, and the user can join the communities and interact with other users through their device.

[1035] Input data: viewing history, interest information

[1036] Output data: Community information suggested to the user

[1037] Specifically, the server compares viewing history and interest information to suggest appropriate communities to users. The server manages conversations and comments within the communities in which users participate.

[1038] The above is a description of the specific processing steps of the present invention.

[1039] (Application example 2)

[1040] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[1041] Conventional content distribution services provide customized program guides based on users' interests, but do not consider the user's emotions when making recommendations. As a result, users may view content based on their interests, but the viewing experience may not always be optimal. Therefore, a system is needed that provides a more optimized viewing experience by making recommendations that take into account the user's emotional data when viewing.

[1042] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1043] In this invention, the server includes means for inputting information based on a user's interests, means for acquiring content information from multiple content distribution services, means for analyzing the acquired content information to generate and index metadata, means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to a user terminal, means for acquiring and storing the user's viewing history and feedback, means for reflecting the stored viewing history and feedback in the next recommendation, means for collecting and analyzing user emotion data using a camera or microphone of the terminal, and means for optimizing recommended content based on the collected emotion data. This makes it possible to reflect the user's emotions while watching in real time and to recommend optimal content that takes into account the emotion data as well as the interest information.

[1044] "User interest information" refers to information about the user's interests and preferences in specific genres, themes, performers, etc.

[1045] "Content information" refers to video and audio data and its metadata obtained from multiple content distribution services.

[1046] "Metadata" is additional information that describes the content, such as the genre of the content, the cast, and the release date.

[1047] "Indexing" is the process of organizing and structuring acquired metadata to make it easier to search and categorize.

[1048] A "customized program guide" is a personalized viewing guide created for each user based on the user's interests and indexed metadata.

[1049] "Viewing history" is a record of content that a user has viewed in the past.

[1050] "Feedback" refers to ratings and comments that users make about the content they have viewed.

[1051] "Terminal" refers to a device used by a user, such as a smartphone, smart glasses, or head-mounted display.

[1052] "Emotion data" is data that indicates emotions such as joy, anger, sadness, and happiness that a user expresses while watching.

[1053] "Emotion recognition" is the process of analyzing emotions from a user's facial expressions and voice using the device's camera and microphone.

[1054] The present invention is a system that recommends optimal content based on user interest information and real-time emotional data. This system operates by linking the user's terminal, a server, and multiple content distribution services.

[1055] Collection of User Information

[1056] user

[1057] Users start up a device with the dedicated application installed and enter basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen.

[1058] Terminal

[1059] The terminal temporarily stores the entered user information and transmits it to the server.

[1060] server

[1061] The server stores the received user information in a database and classifies and stores the interest information by category.

[1062] Generating a Content Index

[1063] server

[1064] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[1065] Generating and providing program guides

[1066] server

[1067] The server compares the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[1068] Terminal

[1069] The terminal displays the received program guide within the application.

[1070] Introducing the Emotion Engine

[1071] Terminal

[1072] While a user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time and sends the results to the server.

[1073] server

[1074] The server stores the received emotion data in a database along with viewing history and feedback, analyzes them, and reflects them in the next recommendation.

[1075] Obtaining viewing history and feedback

[1076] Terminal

[1077] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[1078] server

[1079] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[1080] Community Features

[1081] server

[1082] The server suggests appropriate communities based on the user's viewing history and interests, and manages the conversations and comments.

[1083] Terminal

[1084] The terminal provides a community participation interface, allowing users to interact with other users.

[1085] Specific examples

[1086] Example 1

[1087] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple content distribution services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[1088] Example 2

[1089] While User B is watching a drama, the emotion engine analyzes User B's facial expressions through the device's camera and recognizes emotions such as "emotion" and "enjoyment." This emotion data is sent to the server and stored in a database along with the viewing history. Next time, the server will recommend new dramas that User B is likely to find "emotional" or "enjoyable."

[1090] Prompt Sentence Examples

[1091] "Please give us an overview of your system that recommends the next content to watch based on a user's viewing history and real-time emotional data. What emotional data does it collect, and how does it combine it with the viewing history to make recommendations? Also, what algorithms and technologies does this system use?"

[1092] Please explain the "My Program Guide" system, which uses an emotion engine to optimize the user's viewing experience, and provide examples of how the system uses the user's real-time emotion data and viewing history to make next recommendations.

[1093] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1094] Step 1:

[1095] The user starts up the device on which the dedicated application is installed and enters basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen. The device temporarily stores the entered user information and sends it to the server.

[1096] Input: Name, age, gender, interests

[1097] Output: User information sent to the server

[1098] Step 2:

[1099] The server stores the received user information in a database and classifies and stores the interest information by category.

[1100] Input: User information

[1101] Output: Interests sorted by category

[1102] Step 3:

[1103] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[1104] Input: Content information obtained from the API of each content distribution service

[1105] Output: Indexed metadata

[1106] Step 4:

[1107] The server matches the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[1108] Input: User interests, indexed metadata

[1109] Output: Customized program guide

[1110] Step 5:

[1111] The terminal displays the received program guide within the application.

[1112] Input: Customized Program Guide

[1113] Output: Program listings displayed within the application

[1114] Step 6:

[1115] While the user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time, sending the results to the server.

[1116] Input: User facial expressions and voice collected by camera and microphone

[1117] Output: Emotion data sent to the server

[1118] Step 7:

[1119] The server stores the received emotion data in a database along with the viewing history and feedback. The stored viewing history and feedback are analyzed and reflected in the next recommendation.

[1120] Input: Emotional data, viewing history, feedback

[1121] Output: Analysis data to be reflected in the next recommendation

[1122] Step 8:

[1123] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[1124] Input: Viewing history, feedback

[1125] Output: Viewing history and feedback data sent to the server

[1126] Step 9:

[1127] The server recommends appropriate communities based on the user's viewing history and interests, and manages the conversations and comments. Users can interact with other users through a community participation interface.

[1128] Input: Viewing history, interest information

[1129] Output: Suggested communities, moderated conversations and comments

[1130] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1131] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1132] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[1133] [Third embodiment]

[1134] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[1135] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[1136] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1137] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[1138] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1139] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1140] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1141] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1142] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1143] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1144] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1145] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[1146] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[1147] Collection of User Information

[1148] User

[1149] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1150] Terminal

[1151] The entered user information is temporarily saved and sent to the server.

[1152] server

[1153] The received user information is stored in a database, and interest information is categorized and stored.

[1154] Generating a Content Index

[1155] server

[1156] Content information is periodically obtained from multiple video services using APIs.

[1157] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1158] The parsed metadata is indexed and stored in a database.

[1159] Generating and providing program guides

[1160] server

[1161] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[1162] The generated program guide is stored in a database for each user and sent to the user's terminal.

[1163] Terminal

[1164] The received program guide is displayed within the application.

[1165] Specific examples

[1166] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movies and comedy dramas from Netflix and other video services and stores them in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app.

[1167] Obtaining viewing history and feedback

[1168] Terminal

[1169] The history of when a user views content is recorded and sent to the server.

[1170] Provide an interface for entering feedback and ratings after viewing.

[1171] server

[1172] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[1173] Specific examples

[1174] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can take User A's viewing history and feedback into account to provide more accurate recommendations.

[1175] Community Features

[1176] server

[1177] Suggest appropriate communities based on the user's viewing history and interests.

[1178] Moderate conversations and comments within the community.

[1179] Terminal

[1180] Providing a community participation interface that allows users to interact with other users.

[1181] Specific examples

[1182] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[1183] The above is a concrete example of how to implement the "My Program Guide" system of the present invention. This system allows users to have an optimized viewing experience and significantly reduces the effort required to find content.

[1184] The processing flow will be explained below.

[1185] Step 1:

[1186] User

[1187] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1188] Step 2:

[1189] Terminal

[1190] The entered user information is temporarily saved and sent to the server.

[1191] Step 3:

[1192] server

[1193] The received user information is saved in the database.

[1194] The interest information is categorized and stored in a database.

[1195] Step 4:

[1196] server

[1197] Content information is periodically obtained from multiple video services using APIs.

[1198] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1199] The parsed metadata is indexed and stored in a database.

[1200] Step 5:

[1201] server

[1202] Matching user interests with the metadata of indexed content.

[1203] A customized program guide is generated and stored in a database for each user.

[1204] Step 6:

[1205] server

[1206] The generated program guide is transmitted to the user terminal.

[1207] Step 7:

[1208] Terminal

[1209] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[1210] Step 8:

[1211] User

[1212] Select the content you want to watch from the program guide and start watching.

[1213] Step 9:

[1214] Terminal

[1215] Record the history of when a user views content.

[1216] Provide an interface for entering feedback and ratings after viewing.

[1217] Step 10:

[1218] server

[1219] The obtained viewing history and feedback are stored in a database.

[1220] Your saved viewing history and feedback will be reflected in your next recommendations.

[1221] Step 11:

[1222] server

[1223] Suggest appropriate communities based on the user's viewing history and interests.

[1224] Step 12:

[1225] Terminal

[1226] Providing a community participation interface that allows users to interact with other users.

[1227] Step 13:

[1228] User

[1229] Join suggested communities to share and interact with other users.

[1230] These are the specific processing steps of the "My TV Guide" system program, which allows users to easily find content that matches their interests and enrich their viewing experience.

[1231] Example 1

[1232] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1233] Currently, many users use multiple video streaming services, but because the content provided by each service differs, it is difficult to efficiently find content that matches their interests.In addition, because there is no system that provides personalized program guides or community functions based on users' interests and viewing history, users are unable to optimize their viewing experience and it takes a lot of effort to find appropriate content.

[1234] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1235] In this invention, the server includes a means for inputting basic information and interest information of a user, a means for acquiring content information from multiple video distribution services, and a means for analyzing the acquired content information to generate and index metadata, thereby enabling the generation and provision of a personalized program guide based on the user's interest information and viewing history.

[1236] The server includes means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to the user terminal, and means for acquiring and storing the user's viewing history and feedback, thereby further optimizing the user's viewing experience and reducing the effort required for content discovery.

[1237] The server also includes a means for reflecting the saved viewing history and feedback in the next recommendation, a means for suggesting a community based on the user's viewing history and feedback, and a means for the user to join the suggested community and interact with other users, thereby promoting interaction between users and contributing to an improved viewing experience.

[1238] Furthermore, it includes a means for periodically updating the program guide customized for each user based on the interest information entered by the user, thereby making it possible to always provide the latest program information and propose the most suitable content according to the user's interests.

[1239] A "user" is an individual who uses the system and enters their basic information and interests.

[1240] "Basic information" refers to basic data such as the user's name, age, and gender.

[1241] "Interest information" is data about a user's hobbies and preferences, such as favorite genres, actors, and themes.

[1242] A "video distribution service" is a platform that provides video content over the Internet.

[1243] "Content information" is data related to video content provided by video distribution services.

[1244] "Metadata" is auxiliary data such as genre, cast, and release date that is generated by analyzing acquired content information.

[1245] "Indexing" is the process of organizing metadata based on specific criteria to make it easier to search and match.

[1246] A "program guide" is a list of viewing schedules customized based on the user's interests and metadata.

[1247] "Viewing history" is a record of the content a user has viewed to date.

[1248] "Feedback" refers to ratings and comments that users enter about the content they have viewed.

[1249] "Recommendations" refer to content suggested by the system based on the user's interests, viewing history, and feedback.

[1250] A "community" is a group where users with similar interests can interact with each other.

[1251] "Participation interface" refers to the screens and functions that allow users to participate in a community.

[1252] "Periodic updating" refers to the process of reflecting the latest data at regular intervals.

[1253] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[1254] Collection of User Information

[1255] User

[1256] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1257] Terminal

[1258] The device temporarily stores the entered user information and sends it to the server, using the HTTPS protocol for this process.

[1259] server

[1260] The server stores the received user information in a database using MySQL, and the data is categorized and stored (basic information, interests, etc.).

[1261] Generating a Content Index

[1262] server

[1263] The server periodically obtains content information from multiple video streaming services using APIs, and sends HTTP requests using the Python Requests library.

[1264] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated. Python's JSON library is used for analysis.

[1265] The indexed metadata is stored in a database using MySQL.

[1266] Generating and providing program guides

[1267] server

[1268] The server matches user interests with the metadata of the indexed content to generate a customized program guide, using the Pandas library.

[1269] The server generates a customized program guide, which may be generated using machine learning libraries such as Scikit-learn.

[1270] The generated program guide is sent to the user's device. To do this, we implement a RESTful API using Flask.

[1271] Terminal

[1272] The device displays the received program guide in the application, which is presented to the user using React Native.

[1273] Specific examples

[1274] If User A is interested in "action movies" and "comedy dramas," the server retrieves information from Netflix and other video streaming services, compares it with the database, and generates a program guide. This program guide is sent to User A's device and displayed in an app using React Native.

[1275] Obtaining viewing history and feedback

[1276] Terminal

[1277] The device keeps track of the content the user has viewed; this is done using a local database (such as SQLite).

[1278] The viewing history is periodically sent to the server using the HTTPS protocol.

[1279] It provides an interface for users to enter feedback and ratings after watching the video. The UI is built using React Native.

[1280] server

[1281] The server stores the obtained viewing history and feedback in a database and reflects it in the next recommendation. MySQL is used for storage, and collaborative filtering is used as the recommendation algorithm.

[1282] Specific examples

[1283] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can provide more accurate recommendations based on this data.

[1284] Community Features

[1285] server

[1286] The server recommends appropriate communities based on the user's viewing history and interests. The algorithm may use the Recommenderlab package in the R programming language.

[1287] The server manages conversations and comments within the community, using MongoDB for management.

[1288] Terminal

[1289] The terminal provides a community participation interface that allows users to interact with other users, and the interface was built using React Native.

[1290] Specific examples

[1291] User A can join a community of "action movie fans" and share movie reviews and recommendations with other users. The joining interface is implemented using React Native, and the community data is managed using MongoDB.

[1292] This provides users with an optimized viewing experience and significantly reduces the effort required for content discovery.

[1293] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1294] Step 1: Enter and submit your user registration information

[1295] User

[1296] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1297] Terminal

[1298] The entered user information is temporarily saved and sent to the server using HTTPS. The input here is the user information, and the output is the user information sent to the server.

[1299] Step 2: Receiving and storing user information

[1300] server

[1301] The server stores the received user information in a MySQL database. The data is categorized and stored into categories (basic information, interests, etc.). The input is user information, and the output is the user information stored in the database.

[1302] Step 3: Obtaining and parsing content information

[1303] server

[1304] The server uses Python's Requests library to periodically retrieve content information from the APIs of multiple video streaming services. The retrieved content information is parsed in JSON format, and metadata (genre, cast, release date, etc.) is generated using Python's json library. The input is the content information retrieved from the API, and the output is the generated metadata.

[1305] Step 4: Indexing and storing metadata

[1306] server

[1307] The server indexes the generated metadata and stores it in a MySQL database. Indexing involves organizing it based on specific fields to facilitate searching and matching. The input is the generated metadata, and the output is the indexed and stored metadata.

[1308] Step 5: Generate a customized program guide

[1309] server

[1310] The server uses the Pandas library to match user interests with indexed metadata to generate a customized program listing. It may also use machine learning libraries such as Scikit-learn for more advanced recommendations. The input is user interests and metadata, and the output is a customized program listing.

[1311] Step 6: Send and display your customized program listings

[1312] server

[1313] The generated customized program guide is sent to the user's device in the form of a RESTful API using Flask. The input is the customized program guide data, and the output is an HTTP response.

[1314] Terminal

[1315] The received program guide data is displayed in the application using React Native. The input is the program guide data received in the HTTP response, and the output is a program guide display that can be viewed by the user.

[1316] Step 7: Record and submit viewing history and feedback

[1317] Terminal

[1318] The user's viewing history of content is recorded and saved in a local database (such as SQLite). This is then periodically sent to the server using HTTPS. After viewing, an interface is provided for the user to enter feedback and ratings. The input is the user's viewing history and feedback, and the output is the history information to be sent.

[1319] server

[1320] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation. The recommendation algorithm uses collaborative filtering. The input is the viewing history and feedback, and the output is updated recommendation data.

[1321] Step 8: Propose and manage your community

[1322] server

[1323] The server suggests appropriate communities based on the user's viewing history and interests. The suggestion algorithm may use the Recommenderlab package in the R programming language. MongoDB is also used to manage conversations and comments within the communities. The input is viewing history and interest information, and the output is suggested community information.

[1324] Terminal

[1325] The terminal provides a community participation interface, allowing users to interact with other users. The interface is built using React Native. The input is the proposed community information, and the output is the user's participation status and conversation data within the community.

[1326] The above processing steps are expected to provide users with an optimized viewing experience and significantly reduce the effort required for content discovery.

[1327] (Application example 1)

[1328] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1329] Conventional content distribution services lack systems that provide optimal program listings based on users' interests. Furthermore, they lack future recommendation features that take into account users' viewing history and feedback, and community features that allow users to communicate with other users who share similar interests. As a result, users have to spend a lot of time finding content that suits them from the vast amount of content available, resulting in a poor quality viewing experience.

[1330] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1331] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple content provision services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in subsequent recommendations; and means for acquiring and displaying the program guide customized based on the user information on a smart device. This not only provides users with a program guide optimized based on their interests, but also allows them to easily access and view programs via their smart device. Furthermore, reflecting viewing history and feedback in subsequent recommendations improves the user's viewing experience, and the community function promotes interaction with other users.

[1332] "User Information" refers to basic personal information such as name, age, gender, and interests that a User enters into the Application.

[1333] "Content provision service" refers to an online platform that provides multiple digital content such as video and audio.

[1334] "Metadata" is analyzed information including the genre, cast, release date, etc. of the content, and is data that describes the attributes of the content.

[1335] "Indexing" is the process of organizing parsed metadata by categories and tags to generate a data structure that facilitates searching and browsing.

[1336] A "program guide" is a schedule or list of content customized based on a user's interests.

[1337] "User terminal" refers to an electronic device such as a smartphone, tablet, or PC, which is used by a user to use an application.

[1338] "Viewing history" is a record of content viewed by a user, and includes data such as viewing date, viewing time, and viewed content.

[1339] "Feedback" refers to data on impressions and opinions, such as ratings and comments given by users after viewing a video.

[1340] "Recommendations" is a feature that provides recommended content to watch next based on the user's interests, viewing history, and feedback.

[1341] A "smart device" is an electronic device that has the ability to connect to the Internet and run multiple applications, and includes smartphones, tablets, smart TVs, etc.

[1342] The "community function" is a feature that allows users with common interests to interact with each other and share information and opinions.

[1343] "Customization" is the process of individually tailoring services and content to the preferences and interests of a particular user.

[1344] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, and the details of an embodiment of the system will be described below.

[1345] Collection of User Information

[1346] Users launch the "My Program Guide" application on their smartphone and enter basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. This information is temporarily stored on the device and then sent to the server. The server stores the received user information in a database and classifies and stores the interest information by category.

[1347] Generating a Content Index

[1348] The server periodically retrieves content information from multiple content providers via API. The retrieved content information is analyzed to generate metadata such as the content's genre, cast, and release date. This metadata is then indexed and stored in a database.

[1349] Generating and providing program guides

[1350] The server compares the user's interest information with the metadata of the indexed content to generate a customized program guide, which is stored in a database for each user and sent to the user's device. Users can then view the program guide through an application on their smartphone.

[1351] Obtaining viewing history and feedback

[1352] When a user watches content, their viewing history is recorded on their device and sent to the server. After viewing, they are provided with an interface to input feedback and ratings. The server stores this information in a database and reflects it in future recommendations.

[1353] Community Features

[1354] The server has the function of suggesting appropriate communities based on the user's viewing history and interests. Users can join the suggested communities and interact with other users through an application on their smartphone. For this reason, the server also has a function to manage conversations and comments within the communities.

[1355] Hardware and software used

[1356] The system uses user devices such as smartphones, tablets, and PCs. The server requires advanced data processing and storage capabilities, and the software used includes data acquisition via API, a database management system, and a big data processing platform.

[1357] For example, if User A is interested in "action movies" and "comedy dramas," the server will use this information to obtain information on the latest action movies and comedy dramas and generate a customized program guide. This will be sent to User A's smartphone, where User A can view it within the app. Furthermore, after watching, User A can provide feedback, which can be reflected in future recommendations.

[1358] Prompt Sentence Examples

[1359] Assume that User A is interested in action movies and comedy dramas. Your application should retrieve the latest action movie and comedy drama information from a content provider service for User A and generate a customized program guide for User A. Additionally, add a feature to suggest communities that User A is interested in and allow them to share movie reviews and recommendations.

[1360] In this way, a system is provided that significantly improves the user's viewing experience.

[1361] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1362] Step 1:

[1363] The user launches the "My Program Guide" application on their smartphone and enters basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. The input data is temporarily saved on the device. Input: User's basic information and interest information. Output: Temporarily saved user data.

[1364] Step 2:

[1365] The device sends the saved user information to the server. The server stores the received user information in a database and categorizes the interest information by category. Input: User information sent from the device. Output: User information saved in the database and interest information by category.

[1366] Step 3:

[1367] The server periodically obtains content information from multiple content provision services via API. The obtained data is sent to the server and analyzed. Input: Content information from content provision services. Output: Analyzed metadata.

[1368] Step 4:

[1369] The server indexes the parsed content metadata (genre, cast, release date, etc.) and stores it in a database. Input: Parsed metadata. Output: Indexed metadata.

[1370] Step 5:

[1371] The server matches the user's interests with the metadata of the indexed content to generate a customized program listing, which is stored in a separate user database. Input: User's interests and indexed metadata. Output: Customized program listing.

[1372] Step 6:

[1373] The terminal receives the program guide generated from the server and displays it on the application. The user can view the received program guide. Input: Customized program guide sent from the server. Output: Program guide displayed on the user terminal.

[1374] Step 7:

[1375] When a user watches content, their viewing history is recorded on the device and sent to the server after viewing is complete. After viewing, the user enters feedback and ratings. Input: Viewing history and feedback. Output: Viewing history recorded on the device and feedback stored on the server.

[1376] Step 8:

[1377] The server stores the received viewing history and feedback in a database and reflects it in future recommendations. This enables customized recommendations based on each user's viewing history and ratings. Input: Viewing history and feedback. Output: Updated database and next recommendation data.

[1378] Step 9:

[1379] The server suggests appropriate communities based on the user's viewing history and interests. The user can join the suggested communities and interact with other users. Input: Viewing history and interest information. Output: Suggested community information and communities the user has joined.

[1380] In this way, the system optimizes the user's viewing experience and improves convenience and entertainment value through smart devices.

[1381] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1382] This invention relates to a "My Program Guide" system for optimizing the user's viewing experience. In particular, it is not only based on the user's interest information, but also recognizes the user's emotions and uses them to realize more advanced recommendations. The purpose of this system is to generate and provide a program guide customized based on the user's interests.

[1383] Collection of User Information

[1384] User

[1385] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1386] Terminal

[1387] The entered user information is temporarily saved and sent to the server.

[1388] server

[1389] The received user information is stored in a database, and interest information is categorized and stored.

[1390] Generating a Content Index

[1391] server

[1392] Content information is periodically obtained from multiple video services using APIs.

[1393] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1394] The parsed metadata is indexed and stored in a database.

[1395] Generating and providing program guides

[1396] server

[1397] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[1398] The generated program guide is stored in a database for each user and sent to the user's terminal.

[1399] Terminal

[1400] The received program guide is displayed within the application.

[1401] Specific examples

[1402] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, and User A can view it within the app.

[1403] Introducing the Emotion Engine

[1404] Terminal

[1405] While the user is watching the content, an emotion engine is used to analyze the user's facial expressions and voice using the device's camera and microphone.

[1406] The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server.

[1407] server

[1408] The received emotion data is stored in a database along with the viewing history and feedback.

[1409] The user's viewing history and emotional data are analyzed and reflected in the next recommendation.

[1410] Specific examples

[1411] While User A is watching an action movie, the emotion engine analyzes User A's facial expressions through the device's camera and recognizes emotions such as "surprise" and "excitement." This emotion data is sent to the server and stored in a database along with the user's viewing history. The next time User A watches an action movie, the server will recommend a new action movie that is likely to make User A feel "surprised" or "excited."

[1412] Obtaining viewing history and feedback

[1413] Terminal

[1414] The history of when a user views content is recorded and sent to the server.

[1415] Provide an interface for entering feedback and ratings after viewing.

[1416] server

[1417] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[1418] Community Features

[1419] server

[1420] Suggest appropriate communities based on the user's viewing history and interests.

[1421] Moderate conversations and comments within the community.

[1422] Terminal

[1423] Providing a community participation interface that allows users to interact with other users.

[1424] Specific examples

[1425] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[1426] The above is a concrete example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[1427] The processing flow will be explained below.

[1428] Step 1:

[1429] User

[1430] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1431] Step 2:

[1432] Terminal

[1433] The entered user information is temporarily saved and sent to the server.

[1434] Step 3:

[1435] server

[1436] The received user information is saved in the database.

[1437] Categorize and save interest information by category.

[1438] Step 4:

[1439] server

[1440] Content information is periodically obtained from multiple video services using APIs.

[1441] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1442] The parsed metadata is indexed and stored in a database.

[1443] Step 5:

[1444] server

[1445] Matching user interests with the metadata of indexed content.

[1446] A customized program guide is generated and stored in a database for each user.

[1447] Step 6:

[1448] server

[1449] The generated program guide is transmitted to the user terminal.

[1450] Step 7:

[1451] Terminal

[1452] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[1453] Step 8:

[1454] User

[1455] Select the content you want to watch from the program guide and start watching.

[1456] Step 9:

[1457] Terminal

[1458] While watching content, an emotion engine is activated that uses the device's camera and microphone to analyze the user's facial expressions and voice.

[1459] The emotion engine recognizes the user's emotions in real time and sends the data to the server.

[1460] Step 10:

[1461] server

[1462] The received emotion data is stored in a database along with the viewing history and feedback.

[1463] The system analyzes the user's viewing history and emotional data, and reflects that data in the next recommendation.

[1464] Step 11:

[1465] Terminal

[1466] It records the user's viewing history of content and provides an interface that allows them to enter feedback (ratings and comments) after viewing.

[1467] Step 12:

[1468] server

[1469] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[1470] Step 13:

[1471] server

[1472] We suggest appropriate communities based on users' viewing history and interests.

[1473] Step 14:

[1474] Terminal

[1475] Providing a community participation interface that allows users to interact with other users.

[1476] Step 15:

[1477] User

[1478] Join suggested communities to share and interact with other users.

[1479] As a concrete example, let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves information on the latest action movies and comedy dramas from multiple video services and stores it in a database. Next, the server matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app. Additionally, while User A is watching an action movie, the emotion engine recognizes emotions such as "excitement" and "surprise," and this data is sent to the server. From the next time onwards, the server can recommend new action movies that are likely to make User A feel "excited" or "surprised."

[1480] These are the specific processing steps for implementing a system that combines "My TV Guide" and an emotion engine, allowing users to enjoy a more personalized viewing experience based on their own interests and emotions.

[1481] Example 2

[1482] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1483] Conventional program recommendation systems only recommend programs based on the user's interests, limiting their ability to optimize the viewing experience. Furthermore, because they are based solely on viewing history and feedback, they face the challenge of being unable to provide flexible recommendations that adapt to changes in the user's emotions. Another problem is the lack of community features that allow users to interact with other users who share the same hobbies and interests.

[1484] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1485] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple video services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in next recommendations; means for recognizing the user's emotions in real time and transmitting the emotion data to the server; and means for generating next recommendations based on the user's emotion data and viewing history. This enables more accurate recommendations based on the user's emotional changes and viewing history, optimizing the viewing experience. It also provides a community function that promotes interaction between users.

[1486] "User interest-based information" is information related to a user's hobbies and preferences, including a user's favorite genres, actors, themes, etc.

[1487] "Multiple video services" refers to multiple online platforms and providers that offer video content such as movies and dramas.

[1488] "Content information" is detailed data such as the title, genre, cast, and release date of the video provided by the video service.

[1489] "Metadata" refers to attribute data such as genre, cast, and release date obtained by analyzing content information.

[1490] "Indexing" is the process of organizing analyzed metadata into a format that is easy to search and storing it in a database.

[1491] A "customized program listing" is a program listing that is individually tailored based on a user's interests and indexed metadata.

[1492] A "user terminal" is a device used by a user to access the system, such as a smartphone, tablet, or PC.

[1493] A "viewing history" is a list of content a user has viewed and associated data such as viewing time and frequency.

[1494] "Feedback" refers to information such as ratings and comments provided by users regarding content they have viewed.

[1495] "Recognizing emotions in real time" refers to the process of using the device's sensors to analyze changes in the user's facial expressions and voice to extract their current emotional state.

[1496] "Emotional Data" refers to data on a user's emotional state recognized in real time.

[1497] "Recommendation" means suggesting the most suitable content to a user based on the user's interests, viewing history, feedback, and emotional data.

[1498] The "community function" provides an online space where users can interact with each other, enabling them to share information and engage in conversations based on common interests and hobbies.

[1499] The present invention is a "My Program Guide" system for optimizing the user's viewing experience, and in particular, recognizes the user's emotions in real time and provides advanced recommendations based on them. The system aims to generate and provide a program guide by customizing the user's interest information.

[1500] System configuration

[1501] The system is implemented using the following hardware and software:

[1502] server

[1503] Database management system: Uses MongoDB or similar to manage user information, viewing history, and emotional data.

[1504] Data analysis library: Analyze user data and content data using Python's pandas, etc.

[1505] API communication library: Uses requests to periodically obtain content information from multiple video services (e.g., Netflix, Amazon Prime).

[1506] Sentiment analysis engine: Using TensorFlow, OpenCV, etc., it recognizes user emotions and stores them in a database.

[1507] Search engine: Use Elasticsearch to efficiently search indexed content information.

[1508] Terminal

[1509] Mobile Applications: Provides applications that run on Android or iOS smartphones or tablets, allowing users to enter basic information and interests and view a customized program listing.

[1510] Emotion analysis sensor: Uses the camera and microphone of a smartphone or tablet to analyze the user's facial expressions and voice in real time.

[1511] Program processing explanation

[1512] Collection of User Information

[1513] A user launches a mobile application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.). The device temporarily stores the entered information and sends it to the server. The server stores the received information in a database and organizes the interests by category.

[1514] Generating a Content Index

[1515] The server periodically retrieves content information from multiple video services via APIs. It analyzes the retrieved content information and generates metadata such as genre, cast, and release date. This metadata is indexed using Elasticsearch and stored in a database.

[1516] Generating and providing program guides

[1517] The server compares the user's interests with the metadata of the indexed content to generate a customized program guide. The generated program guide is stored in a database for each user and sent to the user's device. The device displays the received program guide within the application.

[1518] Emotion data collection and analysis

[1519] While a user is viewing content, the device's camera and microphone are used to analyze the user's facial expressions and voice. The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server. The server stores the received emotion data in a database along with the user's viewing history and reflects it in the next recommendation.

[1520] Collecting viewing history and feedback

[1521] The device records the user's viewing history of content and sends it to the server. It also provides an interface for users to enter feedback and ratings after viewing. The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[1522] Community Features

[1523] The server recommends appropriate communities based on the user's viewing history and interests. Users can join communities and interact with other users through their devices. The server manages conversations and comments within the communities.

[1524] Specific examples

[1525] User A enters that he or she is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[1526] Prompt Sentence Examples

[1527] Generate a customized program listing using the following information:

[1528] User name: User A

[1529] Favorite genres: Action movies, comedy dramas

[1530] Viewing history: I've been watching a lot of action movies lately

[1531] Recent emotional data: Surprise, excitement

[1532] Suggested communities: Action movie fans, comedy drama lovers

[1533] The above is a specific example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[1534] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1535] Step 1:

[1536] Enter and submit user information

[1537] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.).

[1538] The terminal temporarily stores the input information and transmits it to the server.

[1539] Input data: User's basic information and interests

[1540] Output data: User information sent to the server

[1541] Step 2:

[1542] How we store and classify your information

[1543] The server stores the received user information in a database and categorizes the interest information by category. For example, user A's data may be categorized into "action movies" and "comedies."

[1544] Input data: Received user information (basic information + interest information)

[1545] Output data: User information stored in a database

[1546] Step 3:

[1547] Content collection and indexing

[1548] The server periodically obtains content information from multiple video services using APIs (e.g., Netflix API, Amazon Prime API), analyzes the obtained content information, generates metadata such as genre, cast, and release date, and indexes it using Elasticsearch.

[1549] Input data: Content information obtained from video services

[1550] Output data: Metadata of indexed content

[1551] Specifically, the server sends a request to a specific API endpoint and analyzes the data returned in response to extract metadata.

[1552] Step 4:

[1553] Generate and send customized program listings

[1554] The server compares the user's interests with the indexed metadata to generate a customized program guide for each user, which is then stored in a database for each user and sent to the device.

[1555] Input data: user interests, indexed metadata

[1556] Output data: Program listings customized for each user

[1557] Specifically, the server uses an SQL query to extract the necessary content from the database and generates a program guide based on that content.

[1558] Step 5:

[1559] Displaying the program guide

[1560] The device displays the received program guide within the application. For example, User A's device displays a list of the latest information on "action movies" and "comedy dramas."

[1561] Input data: customized program guide received from the server

[1562] Output data: Program listings displayed within the application

[1563] Step 6:

[1564] Detecting and transmitting emotion data

[1565] While the user is watching content, the device's emotion engine uses the device's camera and microphone to analyze the user's facial expressions and voice in real time, and the analysis results are sent to the server.

[1566] Input data: User's facial expressions and voice

[1567] Output data: Analyzed emotion data

[1568] Specifically, the device uses OpenCV and TensorFlow to analyze facial expressions and sends the results to the server at regular intervals.

[1569] Step 7:

[1570] Emotion data storage and analysis

[1571] The server stores the received emotion data in a database along with the viewing history and analyzes it to reflect in the next recommendation.

[1572] Input data: received emotion data, viewing history

[1573] Output data: Analysis data reflected in recommendations

[1574] Specifically, the server uses machine learning algorithms to analyze emotional data and viewing history and update the recommendation model.

[1575] Step 8:

[1576] Viewing history and sending feedback

[1577] The device records the user's viewing history and sends it to the server, and also provides an interface for users to enter feedback and ratings after viewing.

[1578] Input data: information about content viewed by users, user feedback

[1579] Output data: Viewing history and feedback sent to the server

[1580] Step 9:

[1581] Saving and analyzing viewing history and feedback

[1582] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[1583] Input data: received viewing history and feedback

[1584] Output data: Viewing history and feedback data reflected in recommendations

[1585] Specifically, the server adds the newly acquired data to the database and reflects it in the recommendation algorithm.

[1586] Step 10:

[1587] Community Suggestions and Participation

[1588] The server suggests appropriate communities based on the user's viewing history and interests, and the user can join the communities and interact with other users through their device.

[1589] Input data: viewing history, interest information

[1590] Output data: Community information suggested to the user

[1591] Specifically, the server compares viewing history and interest information to suggest appropriate communities to users. The server manages conversations and comments within the communities in which users participate.

[1592] The above is a description of the specific processing steps of the present invention.

[1593] (Application example 2)

[1594] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1595] Conventional content distribution services provide customized program guides based on users' interests, but do not consider the user's emotions when making recommendations. As a result, users may view content based on their interests, but the viewing experience may not always be optimal. Therefore, a system is needed that provides a more optimized viewing experience by making recommendations that take into account the user's emotional data when viewing.

[1596] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1597] In this invention, the server includes means for inputting information based on a user's interests, means for acquiring content information from multiple content distribution services, means for analyzing the acquired content information to generate and index metadata, means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to a user terminal, means for acquiring and storing the user's viewing history and feedback, means for reflecting the stored viewing history and feedback in the next recommendation, means for collecting and analyzing user emotion data using a camera or microphone of the terminal, and means for optimizing recommended content based on the collected emotion data. This makes it possible to reflect the user's emotions while watching in real time and to recommend optimal content that takes into account the emotion data as well as the interest information.

[1598] "User interest information" refers to information about the user's interests and preferences in specific genres, themes, performers, etc.

[1599] "Content information" refers to video and audio data and its metadata obtained from multiple content distribution services.

[1600] "Metadata" is additional information that describes the content, such as the genre of the content, the cast, and the release date.

[1601] "Indexing" is the process of organizing and structuring acquired metadata to make it easier to search and categorize.

[1602] A "customized program guide" is a personalized viewing guide created for each user based on the user's interests and indexed metadata.

[1603] "Viewing history" is a record of content that a user has viewed in the past.

[1604] "Feedback" refers to ratings and comments that users make about the content they have viewed.

[1605] "Terminal" refers to a device used by a user, such as a smartphone, smart glasses, or head-mounted display.

[1606] "Emotion data" is data that indicates emotions such as joy, anger, sadness, and happiness that a user expresses while watching.

[1607] "Emotion recognition" is the process of analyzing emotions from a user's facial expressions and voice using the device's camera and microphone.

[1608] The present invention is a system that recommends optimal content based on user interest information and real-time emotional data. This system operates by linking the user's terminal, a server, and multiple content distribution services.

[1609] Collection of User Information

[1610] user

[1611] Users start up a device with the dedicated application installed and enter basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen.

[1612] Terminal

[1613] The terminal temporarily stores the entered user information and transmits it to the server.

[1614] server

[1615] The server stores the received user information in a database and classifies and stores the interest information by category.

[1616] Generating a Content Index

[1617] server

[1618] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[1619] Generating and providing program guides

[1620] server

[1621] The server compares the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[1622] Terminal

[1623] The terminal displays the received program guide within the application.

[1624] Introducing the Emotion Engine

[1625] Terminal

[1626] While a user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time and sends the results to the server.

[1627] server

[1628] The server stores the received emotion data in a database along with viewing history and feedback, analyzes them, and reflects them in the next recommendation.

[1629] Obtaining viewing history and feedback

[1630] Terminal

[1631] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[1632] server

[1633] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[1634] Community Features

[1635] server

[1636] The server suggests appropriate communities based on the user's viewing history and interests, and manages the conversations and comments.

[1637] Terminal

[1638] The terminal provides a community participation interface, allowing users to interact with other users.

[1639] Specific examples

[1640] Example 1

[1641] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple content distribution services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[1642] Example 2

[1643] While User B is watching a drama, the emotion engine analyzes User B's facial expressions through the device's camera and recognizes emotions such as "emotion" and "enjoyment." This emotion data is sent to the server and stored in a database along with the viewing history. Next time, the server will recommend new dramas that User B is likely to find "emotional" or "enjoyable."

[1644] Prompt Sentence Examples

[1645] "Please give us an overview of your system that recommends the next content to watch based on a user's viewing history and real-time emotional data. What emotional data does it collect, and how does it combine it with the viewing history to make recommendations? Also, what algorithms and technologies does this system use?"

[1646] Please explain the "My Program Guide" system, which uses an emotion engine to optimize the user's viewing experience, and provide examples of how the system uses the user's real-time emotion data and viewing history to make next recommendations.

[1647] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1648] Step 1:

[1649] The user starts up the device on which the dedicated application is installed and enters basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen. The device temporarily stores the entered user information and sends it to the server.

[1650] Input: Name, age, gender, interests

[1651] Output: User information sent to the server

[1652] Step 2:

[1653] The server stores the received user information in a database and classifies and stores the interest information by category.

[1654] Input: User information

[1655] Output: Interests sorted by category

[1656] Step 3:

[1657] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[1658] Input: Content information obtained from the API of each content distribution service

[1659] Output: Indexed metadata

[1660] Step 4:

[1661] The server matches the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[1662] Input: User interests, indexed metadata

[1663] Output: Customized program guide

[1664] Step 5:

[1665] The terminal displays the received program guide within the application.

[1666] Input: Customized Program Guide

[1667] Output: Program listings displayed within the application

[1668] Step 6:

[1669] While the user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time, sending the results to the server.

[1670] Input: User facial expressions and voice collected by camera and microphone

[1671] Output: Emotion data sent to the server

[1672] Step 7:

[1673] The server stores the received emotion data in a database along with the viewing history and feedback. The stored viewing history and feedback are analyzed and reflected in the next recommendation.

[1674] Input: Emotional data, viewing history, feedback

[1675] Output: Analysis data to be reflected in the next recommendation

[1676] Step 8:

[1677] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[1678] Input: Viewing history, feedback

[1679] Output: Viewing history and feedback data sent to the server

[1680] Step 9:

[1681] The server recommends appropriate communities based on the user's viewing history and interests, and manages the conversations and comments. Users can interact with other users through a community participation interface.

[1682] Input: Viewing history, interest information

[1683] Output: Suggested communities, moderated conversations and comments

[1684] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1685] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1686] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[1687] [Fourth embodiment]

[1688] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1689] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1690] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1691] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1692] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1693] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1694] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1695] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1696] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1697] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1698] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1699] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1700] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1701] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[1702] Collection of User Information

[1703] User

[1704] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1705] Terminal

[1706] The entered user information is temporarily saved and sent to the server.

[1707] server

[1708] The received user information is stored in a database, and interest information is categorized and stored.

[1709] Generating a Content Index

[1710] server

[1711] Content information is periodically obtained from multiple video services using APIs.

[1712] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1713] The parsed metadata is indexed and stored in a database.

[1714] Generating and providing program guides

[1715] server

[1716] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[1717] The generated program guide is stored in a database for each user and sent to the user's terminal.

[1718] Terminal

[1719] The received program guide is displayed within the application.

[1720] Specific examples

[1721] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movies and comedy dramas from Netflix and other video services and stores them in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app.

[1722] Obtaining viewing history and feedback

[1723] Terminal

[1724] The history of when a user views content is recorded and sent to the server.

[1725] Provide an interface for entering feedback and ratings after viewing.

[1726] server

[1727] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[1728] Specific examples

[1729] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can take User A's viewing history and feedback into account to provide more accurate recommendations.

[1730] Community Features

[1731] server

[1732] Suggest appropriate communities based on the user's viewing history and interests.

[1733] Moderate conversations and comments within the community.

[1734] Terminal

[1735] Providing a community participation interface that allows users to interact with other users.

[1736] Specific examples

[1737] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[1738] The above is a concrete example of how to implement the "My Program Guide" system of the present invention. This system allows users to have an optimized viewing experience and significantly reduces the effort required to find content.

[1739] The processing flow will be explained below.

[1740] Step 1:

[1741] User

[1742] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1743] Step 2:

[1744] Terminal

[1745] The entered user information is temporarily saved and sent to the server.

[1746] Step 3:

[1747] server

[1748] The received user information is saved in the database.

[1749] The interest information is categorized and stored in a database.

[1750] Step 4:

[1751] server

[1752] Content information is periodically obtained from multiple video services using APIs.

[1753] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1754] The parsed metadata is indexed and stored in a database.

[1755] Step 5:

[1756] server

[1757] Matching user interests with the metadata of indexed content.

[1758] A customized program guide is generated and stored in a database for each user.

[1759] Step 6:

[1760] server

[1761] The generated program guide is transmitted to the user terminal.

[1762] Step 7:

[1763] Terminal

[1764] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[1765] Step 8:

[1766] User

[1767] Select the content you want to watch from the program guide and start watching.

[1768] Step 9:

[1769] Terminal

[1770] Record the history of when a user views content.

[1771] Provide an interface for entering feedback and ratings after viewing.

[1772] Step 10:

[1773] server

[1774] The obtained viewing history and feedback are stored in a database.

[1775] Your saved viewing history and feedback will be reflected in your next recommendations.

[1776] Step 11:

[1777] server

[1778] Suggest appropriate communities based on the user's viewing history and interests.

[1779] Step 12:

[1780] Terminal

[1781] Providing a community participation interface that allows users to interact with other users.

[1782] Step 13:

[1783] User

[1784] Join suggested communities to share and interact with other users.

[1785] These are the specific processing steps of the "My TV Guide" system program, which allows users to easily find content that matches their interests and enrich their viewing experience.

[1786] Example 1

[1787] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1788] Currently, many users use multiple video streaming services, but because the content provided by each service differs, it is difficult to efficiently find content that matches their interests.In addition, because there is no system that provides personalized program guides or community functions based on users' interests and viewing history, users are unable to optimize their viewing experience and it takes a lot of effort to find appropriate content.

[1789] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1790] In this invention, the server includes a means for inputting basic information and interest information of a user, a means for acquiring content information from multiple video distribution services, and a means for analyzing the acquired content information to generate and index metadata, thereby enabling the generation and provision of a personalized program guide based on the user's interest information and viewing history.

[1791] The server includes means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to the user terminal, and means for acquiring and storing the user's viewing history and feedback, thereby further optimizing the user's viewing experience and reducing the effort required for content discovery.

[1792] The server also includes a means for reflecting the saved viewing history and feedback in the next recommendation, a means for suggesting a community based on the user's viewing history and feedback, and a means for the user to join the suggested community and interact with other users, thereby promoting interaction between users and contributing to an improved viewing experience.

[1793] Furthermore, it includes a means for periodically updating the program guide customized for each user based on the interest information entered by the user, thereby making it possible to always provide the latest program information and propose the most suitable content according to the user's interests.

[1794] A "user" is an individual who uses the system and enters their basic information and interests.

[1795] "Basic information" refers to basic data such as the user's name, age, and gender.

[1796] "Interest information" is data about a user's hobbies and preferences, such as favorite genres, actors, and themes.

[1797] A "video distribution service" is a platform that provides video content over the Internet.

[1798] "Content information" is data related to video content provided by video distribution services.

[1799] "Metadata" is auxiliary data such as genre, cast, and release date that is generated by analyzing acquired content information.

[1800] "Indexing" is the process of organizing metadata based on specific criteria to make it easier to search and match.

[1801] A "program guide" is a list of viewing schedules customized based on the user's interests and metadata.

[1802] "Viewing history" is a record of the content a user has viewed to date.

[1803] "Feedback" refers to ratings and comments that users enter about the content they have viewed.

[1804] "Recommendations" refer to content suggested by the system based on the user's interests, viewing history, and feedback.

[1805] A "community" is a group where users with similar interests can interact with each other.

[1806] "Participation interface" refers to the screens and functions that allow users to participate in a community.

[1807] "Periodic updating" refers to the process of reflecting the latest data at regular intervals.

[1808] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, with the objective of generating and providing a program guide customized based on the user's interests.

[1809] Collection of User Information

[1810] User

[1811] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1812] Terminal

[1813] The device temporarily stores the entered user information and sends it to the server, using the HTTPS protocol for this process.

[1814] server

[1815] The server stores the received user information in a database using MySQL, and the data is categorized and stored (basic information, interests, etc.).

[1816] Generating a Content Index

[1817] server

[1818] The server periodically obtains content information from multiple video streaming services using APIs, and sends HTTP requests using the Python Requests library.

[1819] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated. Python's JSON library is used for analysis.

[1820] The indexed metadata is stored in a database using MySQL.

[1821] Generating and providing program guides

[1822] server

[1823] The server matches user interests with the metadata of the indexed content to generate a customized program guide, using the Pandas library.

[1824] The server generates a customized program guide, which may be generated using machine learning libraries such as Scikit-learn.

[1825] The generated program guide is sent to the user's device. To do this, we implement a RESTful API using Flask.

[1826] Terminal

[1827] The device displays the received program guide in the application, which is presented to the user using React Native.

[1828] Specific examples

[1829] If User A is interested in "action movies" and "comedy dramas," the server retrieves information from Netflix and other video streaming services, compares it with the database, and generates a program guide. This program guide is sent to User A's device and displayed in an app using React Native.

[1830] Obtaining viewing history and feedback

[1831] Terminal

[1832] The device keeps track of the content the user has viewed; this is done using a local database (such as SQLite).

[1833] The viewing history is periodically sent to the server using the HTTPS protocol.

[1834] It provides an interface for users to enter feedback and ratings after watching the video. The UI is built using React Native.

[1835] server

[1836] The server stores the obtained viewing history and feedback in a database and reflects it in the next recommendation. MySQL is used for storage, and collaborative filtering is used as the recommendation algorithm.

[1837] Specific examples

[1838] User A watches an "action movie" and rates it five stars. This information is sent to the server and stored in a database. From next time onwards, the server can provide more accurate recommendations based on this data.

[1839] Community Features

[1840] server

[1841] The server recommends appropriate communities based on the user's viewing history and interests. The algorithm may use the Recommenderlab package in the R programming language.

[1842] The server manages conversations and comments within the community, using MongoDB for management.

[1843] Terminal

[1844] The terminal provides a community participation interface that allows users to interact with other users, and the interface was built using React Native.

[1845] Specific examples

[1846] User A can join a community of "action movie fans" and share movie reviews and recommendations with other users. The joining interface is implemented using React Native, and the community data is managed using MongoDB.

[1847] This provides users with an optimized viewing experience and significantly reduces the effort required for content discovery.

[1848] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1849] Step 1: Enter and submit your user registration information

[1850] User

[1851] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1852] Terminal

[1853] The entered user information is temporarily saved and sent to the server using HTTPS. The input here is the user information, and the output is the user information sent to the server.

[1854] Step 2: Receiving and storing user information

[1855] server

[1856] The server stores the received user information in a MySQL database. The data is categorized and stored into categories (basic information, interests, etc.). The input is user information, and the output is the user information stored in the database.

[1857] Step 3: Obtaining and parsing content information

[1858] server

[1859] The server uses Python's Requests library to periodically retrieve content information from the APIs of multiple video streaming services. The retrieved content information is parsed in JSON format, and metadata (genre, cast, release date, etc.) is generated using Python's json library. The input is the content information retrieved from the API, and the output is the generated metadata.

[1860] Step 4: Indexing and storing metadata

[1861] server

[1862] The server indexes the generated metadata and stores it in a MySQL database. Indexing involves organizing it based on specific fields to facilitate searching and matching. The input is the generated metadata, and the output is the indexed and stored metadata.

[1863] Step 5: Generate a customized program guide

[1864] server

[1865] The server uses the Pandas library to match user interests with indexed metadata to generate a customized program listing. It may also use machine learning libraries such as Scikit-learn for more advanced recommendations. The input is user interests and metadata, and the output is a customized program listing.

[1866] Step 6: Send and display your customized program listings

[1867] server

[1868] The generated customized program guide is sent to the user's device in the form of a RESTful API using Flask. The input is the customized program guide data, and the output is an HTTP response.

[1869] Terminal

[1870] The received program guide data is displayed in the application using React Native. The input is the program guide data received in the HTTP response, and the output is a program guide display that can be viewed by the user.

[1871] Step 7: Record and submit viewing history and feedback

[1872] Terminal

[1873] The user's viewing history of content is recorded and saved in a local database (such as SQLite). This is then periodically sent to the server using HTTPS. After viewing, an interface is provided for the user to enter feedback and ratings. The input is the user's viewing history and feedback, and the output is the history information to be sent.

[1874] server

[1875] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation. The recommendation algorithm uses collaborative filtering. The input is the viewing history and feedback, and the output is updated recommendation data.

[1876] Step 8: Propose and manage your community

[1877] server

[1878] The server suggests appropriate communities based on the user's viewing history and interests. The suggestion algorithm may use the Recommenderlab package in the R programming language. MongoDB is also used to manage conversations and comments within the communities. The input is viewing history and interest information, and the output is suggested community information.

[1879] Terminal

[1880] The terminal provides a community participation interface, allowing users to interact with other users. The interface is built using React Native. The input is the proposed community information, and the output is the user's participation status and conversation data within the community.

[1881] The above processing steps are expected to provide users with an optimized viewing experience and significantly reduce the effort required for content discovery.

[1882] (Application example 1)

[1883] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1884] Conventional content distribution services lack systems that provide optimal program listings based on users' interests. Furthermore, they lack future recommendation features that take into account users' viewing history and feedback, and community features that allow users to communicate with other users who share similar interests. As a result, users have to spend a lot of time finding content that suits them from the vast amount of content available, resulting in a poor quality viewing experience.

[1885] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1886] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple content provision services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in subsequent recommendations; and means for acquiring and displaying the program guide customized based on the user information on a smart device. This not only provides users with a program guide optimized based on their interests, but also allows them to easily access and view programs via their smart device. Furthermore, reflecting viewing history and feedback in subsequent recommendations improves the user's viewing experience, and the community function promotes interaction with other users.

[1887] "User Information" refers to basic personal information such as name, age, gender, and interests that a User enters into the Application.

[1888] "Content provision service" refers to an online platform that provides multiple digital content such as video and audio.

[1889] "Metadata" is analyzed information including the genre, cast, release date, etc. of the content, and is data that describes the attributes of the content.

[1890] "Indexing" is the process of organizing parsed metadata by categories and tags to generate a data structure that facilitates searching and browsing.

[1891] A "program guide" is a schedule or list of content customized based on a user's interests.

[1892] "User terminal" refers to an electronic device such as a smartphone, tablet, or PC, which is used by a user to use an application.

[1893] "Viewing history" is a record of content viewed by a user, and includes data such as viewing date, viewing time, and viewed content.

[1894] "Feedback" refers to data on impressions and opinions, such as ratings and comments given by users after viewing a video.

[1895] "Recommendations" is a feature that provides recommended content to watch next based on the user's interests, viewing history, and feedback.

[1896] A "smart device" is an electronic device that has the ability to connect to the Internet and run multiple applications, and includes smartphones, tablets, smart TVs, etc.

[1897] The "community function" is a feature that allows users with common interests to interact with each other and share information and opinions.

[1898] "Customization" is the process of individually tailoring services and content to the preferences and interests of a particular user.

[1899] The present invention relates to a "My Program Guide" system for optimizing a user's viewing experience, and the details of an embodiment of the system will be described below.

[1900] Collection of User Information

[1901] Users launch the "My Program Guide" application on their smartphone and enter basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. This information is temporarily stored on the device and then sent to the server. The server stores the received user information in a database and classifies and stores the interest information by category.

[1902] Generating a Content Index

[1903] The server periodically retrieves content information from multiple content providers via API. The retrieved content information is analyzed to generate metadata such as the content's genre, cast, and release date. This metadata is then indexed and stored in a database.

[1904] Generating and providing program guides

[1905] The server compares the user's interest information with the metadata of the indexed content to generate a customized program guide, which is stored in a database for each user and sent to the user's device. Users can then view the program guide through an application on their smartphone.

[1906] Obtaining viewing history and feedback

[1907] When a user watches content, their viewing history is recorded on their device and sent to the server. After viewing, they are provided with an interface to input feedback and ratings. The server stores this information in a database and reflects it in future recommendations.

[1908] Community Features

[1909] The server has the function of suggesting appropriate communities based on the user's viewing history and interests. Users can join the suggested communities and interact with other users through an application on their smartphone. For this reason, the server also has a function to manage conversations and comments within the communities.

[1910] Hardware and software used

[1911] The system uses user devices such as smartphones, tablets, and PCs. The server requires advanced data processing and storage capabilities, and the software used includes data acquisition via API, a database management system, and a big data processing platform.

[1912] For example, if User A is interested in "action movies" and "comedy dramas," the server will use this information to obtain information on the latest action movies and comedy dramas and generate a customized program guide. This will be sent to User A's smartphone, where User A can view it within the app. Furthermore, after watching, User A can provide feedback, which can be reflected in future recommendations.

[1913] Prompt Sentence Examples

[1914] Assume that User A is interested in action movies and comedy dramas. Your application should retrieve the latest action movie and comedy drama information from a content provider service for User A and generate a customized program guide for User A. Additionally, add a feature to suggest communities that User A is interested in and allow them to share movie reviews and recommendations.

[1915] In this way, a system is provided that significantly improves the user's viewing experience.

[1916] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1917] Step 1:

[1918] The user launches the "My Program Guide" application on their smartphone and enters basic information (name, age, gender) and interest information (favorite genres, actors, themes, etc.) on the user registration screen. The input data is temporarily saved on the device. Input: User's basic information and interest information. Output: Temporarily saved user data.

[1919] Step 2:

[1920] The device sends the saved user information to the server. The server stores the received user information in a database and categorizes the interest information by category. Input: User information sent from the device. Output: User information saved in the database and interest information by category.

[1921] Step 3:

[1922] The server periodically obtains content information from multiple content provision services via API. The obtained data is sent to the server and analyzed. Input: Content information from content provision services. Output: Analyzed metadata.

[1923] Step 4:

[1924] The server indexes the parsed content metadata (genre, cast, release date, etc.) and stores it in a database. Input: Parsed metadata. Output: Indexed metadata.

[1925] Step 5:

[1926] The server matches the user's interests with the metadata of the indexed content to generate a customized program listing, which is stored in a separate user database. Input: User's interests and indexed metadata. Output: Customized program listing.

[1927] Step 6:

[1928] The terminal receives the program guide generated from the server and displays it on the application. The user can view the received program guide. Input: Customized program guide sent from the server. Output: Program guide displayed on the user terminal.

[1929] Step 7:

[1930] When a user watches content, their viewing history is recorded on the device and sent to the server after viewing is complete. After viewing, the user enters feedback and ratings. Input: Viewing history and feedback. Output: Viewing history recorded on the device and feedback stored on the server.

[1931] Step 8:

[1932] The server stores the received viewing history and feedback in a database and reflects it in future recommendations. This enables customized recommendations based on each user's viewing history and ratings. Input: Viewing history and feedback. Output: Updated database and next recommendation data.

[1933] Step 9:

[1934] The server suggests appropriate communities based on the user's viewing history and interests. The user can join the suggested communities and interact with other users. Input: Viewing history and interest information. Output: Suggested community information and communities the user has joined.

[1935] In this way, the system optimizes the user's viewing experience and improves convenience and entertainment value through smart devices.

[1936] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1937] This invention relates to a "My Program Guide" system for optimizing the user's viewing experience. In particular, it is not only based on the user's interest information, but also recognizes the user's emotions and uses them to realize more advanced recommendations. The purpose of this system is to generate and provide a program guide customized based on the user's interests.

[1938] Collection of User Information

[1939] User

[1940] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1941] Terminal

[1942] The entered user information is temporarily saved and sent to the server.

[1943] server

[1944] The received user information is stored in a database, and interest information is categorized and stored.

[1945] Generating a Content Index

[1946] server

[1947] Content information is periodically obtained from multiple video services using APIs.

[1948] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1949] The parsed metadata is indexed and stored in a database.

[1950] Generating and providing program guides

[1951] server

[1952] It matches user interest information with the metadata of indexed content to generate a customized program guide.

[1953] The generated program guide is stored in a database for each user and sent to the user's terminal.

[1954] Terminal

[1955] The received program guide is displayed within the application.

[1956] Specific examples

[1957] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, and User A can view it within the app.

[1958] Introducing the Emotion Engine

[1959] Terminal

[1960] While the user is watching the content, an emotion engine is used to analyze the user's facial expressions and voice using the device's camera and microphone.

[1961] The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server.

[1962] server

[1963] The received emotion data is stored in a database along with the viewing history and feedback.

[1964] The user's viewing history and emotional data are analyzed and reflected in the next recommendation.

[1965] Specific examples

[1966] While User A is watching an action movie, the emotion engine analyzes User A's facial expressions through the device's camera and recognizes emotions such as "surprise" and "excitement." This emotion data is sent to the server and stored in a database along with the user's viewing history. The next time User A watches an action movie, the server will recommend a new action movie that is likely to make User A feel "surprised" or "excited."

[1967] Obtaining viewing history and feedback

[1968] Terminal

[1969] The history of when a user views content is recorded and sent to the server.

[1970] Provide an interface for entering feedback and ratings after viewing.

[1971] server

[1972] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[1973] Community Features

[1974] server

[1975] Suggest appropriate communities based on the user's viewing history and interests.

[1976] Moderate conversations and comments within the community.

[1977] Terminal

[1978] Providing a community participation interface that allows users to interact with other users.

[1979] Specific examples

[1980] User A joins a community of "action movie fans" and can share movie reviews and recommendations with other users.

[1981] The above is a concrete example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[1982] The processing flow will be explained below.

[1983] Step 1:

[1984] User

[1985] Launch the "My Program Guide" application and enter your basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.) on the user registration screen.

[1986] Step 2:

[1987] Terminal

[1988] The entered user information is temporarily saved and sent to the server.

[1989] Step 3:

[1990] server

[1991] The received user information is saved in the database.

[1992] Categorize and save interest information by category.

[1993] Step 4:

[1994] server

[1995] Content information is periodically obtained from multiple video services using APIs.

[1996] The acquired content information is analyzed and metadata (genre, cast, release date, etc.) is generated.

[1997] The parsed metadata is indexed and stored in a database.

[1998] Step 5:

[1999] server

[2000] Matching user interests with the metadata of indexed content.

[2001] A customized program guide is generated and stored in a database for each user.

[2002] Step 6:

[2003] server

[2004] The generated program guide is transmitted to the user terminal.

[2005] Step 7:

[2006] Terminal

[2007] The received program guide is displayed within the application, and users can select content that interests them from the program guide.

[2008] Step 8:

[2009] User

[2010] Select the content you want to watch from the program guide and start watching.

[2011] Step 9:

[2012] Terminal

[2013] While watching content, an emotion engine is activated that uses the device's camera and microphone to analyze the user's facial expressions and voice.

[2014] The emotion engine recognizes the user's emotions in real time and sends the data to the server.

[2015] Step 10:

[2016] server

[2017] The received emotion data is stored in a database along with the viewing history and feedback.

[2018] The system analyzes the user's viewing history and emotional data, and reflects that data in the next recommendation.

[2019] Step 11:

[2020] Terminal

[2021] It records the user's viewing history of content and provides an interface that allows them to enter feedback (ratings and comments) after viewing.

[2022] Step 12:

[2023] server

[2024] The acquired viewing history and feedback are stored in a database and reflected in the next recommendation.

[2025] Step 13:

[2026] server

[2027] We suggest appropriate communities based on users' viewing history and interests.

[2028] Step 14:

[2029] Terminal

[2030] Providing a community participation interface that allows users to interact with other users.

[2031] Step 15:

[2032] User

[2033] Join suggested communities to share and interact with other users.

[2034] As a concrete example, let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves information on the latest action movies and comedy dramas from multiple video services and stores it in a database. Next, the server matches User A's interests with the indexed content to generate an optimal program guide. This program guide is sent to User A's smartphone, where User A can view it within the app. Additionally, while User A is watching an action movie, the emotion engine recognizes emotions such as "excitement" and "surprise," and this data is sent to the server. From the next time onwards, the server can recommend new action movies that are likely to make User A feel "excited" or "surprised."

[2035] These are the specific processing steps for implementing a system that combines "My TV Guide" and an emotion engine, allowing users to enjoy a more personalized viewing experience based on their own interests and emotions.

[2036] Example 2

[2037] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2038] Conventional program recommendation systems only recommend programs based on the user's interests, limiting their ability to optimize the viewing experience. Furthermore, because they are based solely on viewing history and feedback, they face the challenge of being unable to provide flexible recommendations that adapt to changes in the user's emotions. Another problem is the lack of community features that allow users to interact with other users who share the same hobbies and interests.

[2039] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[2040] In this invention, the server includes: means for inputting information based on a user's interests; means for acquiring content information from multiple video services; means for analyzing the acquired content information to generate and index metadata; means for generating a customized program guide based on the user's interests and the indexed metadata; means for transmitting the generated program guide to a user terminal; means for acquiring and storing the user's viewing history and feedback; means for reflecting the stored viewing history and feedback in next recommendations; means for recognizing the user's emotions in real time and transmitting the emotion data to the server; and means for generating next recommendations based on the user's emotion data and viewing history. This enables more accurate recommendations based on the user's emotional changes and viewing history, optimizing the viewing experience. It also provides a community function that promotes interaction between users.

[2041] "User interest-based information" is information related to a user's hobbies and preferences, including a user's favorite genres, actors, themes, etc.

[2042] "Multiple video services" refers to multiple online platforms and providers that offer video content such as movies and dramas.

[2043] "Content information" is detailed data such as the title, genre, cast, and release date of the video provided by the video service.

[2044] "Metadata" refers to attribute data such as genre, cast, and release date obtained by analyzing content information.

[2045] "Indexing" is the process of organizing analyzed metadata into a format that is easy to search and storing it in a database.

[2046] A "customized program listing" is a program listing that is individually tailored based on a user's interests and indexed metadata.

[2047] A "user terminal" is a device used by a user to access the system, such as a smartphone, tablet, or PC.

[2048] A "viewing history" is a list of content a user has viewed and associated data such as viewing time and frequency.

[2049] "Feedback" refers to information such as ratings and comments provided by users regarding content they have viewed.

[2050] "Recognizing emotions in real time" refers to the process of using the device's sensors to analyze changes in the user's facial expressions and voice to extract their current emotional state.

[2051] "Emotional Data" refers to data on a user's emotional state recognized in real time.

[2052] "Recommendation" means suggesting the most suitable content to a user based on the user's interests, viewing history, feedback, and emotional data.

[2053] The "community function" provides an online space where users can interact with each other, enabling them to share information and engage in conversations based on common interests and hobbies.

[2054] The present invention is a "My Program Guide" system for optimizing the user's viewing experience, and in particular, recognizes the user's emotions in real time and provides advanced recommendations based on them. The system aims to generate and provide a program guide by customizing the user's interest information.

[2055] System configuration

[2056] The system is implemented using the following hardware and software:

[2057] server

[2058] Database management system: Uses MongoDB or similar to manage user information, viewing history, and emotional data.

[2059] Data analysis library: Analyze user data and content data using Python's pandas, etc.

[2060] API communication library: Uses requests to periodically obtain content information from multiple video services (e.g., Netflix, Amazon Prime).

[2061] Sentiment analysis engine: Using TensorFlow, OpenCV, etc., it recognizes user emotions and stores them in a database.

[2062] Search engine: Use Elasticsearch to efficiently search indexed content information.

[2063] Terminal

[2064] Mobile Applications: Provides applications that run on Android or iOS smartphones or tablets, allowing users to enter basic information and interests and view a customized program listing.

[2065] Emotion analysis sensor: Uses the camera and microphone of a smartphone or tablet to analyze the user's facial expressions and voice in real time.

[2066] Program processing explanation

[2067] Collection of User Information

[2068] A user launches a mobile application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.). The device temporarily stores the entered information and sends it to the server. The server stores the received information in a database and organizes the interests by category.

[2069] Generating a Content Index

[2070] The server periodically retrieves content information from multiple video services via APIs. It analyzes the retrieved content information and generates metadata such as genre, cast, and release date. This metadata is indexed using Elasticsearch and stored in a database.

[2071] Generating and providing program guides

[2072] The server compares the user's interests with the metadata of the indexed content to generate a customized program guide. The generated program guide is stored in a database for each user and sent to the user's device. The device displays the received program guide within the application.

[2073] Emotion data collection and analysis

[2074] While a user is viewing content, the device's camera and microphone are used to analyze the user's facial expressions and voice. The emotion engine recognizes the user's emotions in real time and sends the analysis results to the server. The server stores the received emotion data in a database along with the user's viewing history and reflects it in the next recommendation.

[2075] Collecting viewing history and feedback

[2076] The device records the user's viewing history of content and sends it to the server. It also provides an interface for users to enter feedback and ratings after viewing. The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[2077] Community Features

[2078] The server recommends appropriate communities based on the user's viewing history and interests. Users can join communities and interact with other users through their devices. The server manages conversations and comments within the communities.

[2079] Specific examples

[2080] User A enters that he or she is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple video services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[2081] Prompt Sentence Examples

[2082] Generate a customized program listing using the following information:

[2083] User name: User A

[2084] Favorite genres: Action movies, comedy dramas

[2085] Viewing history: I've been watching a lot of action movies lately

[2086] Recent emotional data: Surprise, excitement

[2087] Suggested communities: Action movie fans, comedy drama lovers

[2088] The above is a specific example of how to implement a system that combines the "My Program Guide" and emotion engine of the present invention. This system allows users to easily access optimal content based on their emotions as well as their interests, improving their viewing experience.

[2089] The flow of the identification process in the second embodiment will be described with reference to FIG.

[2090] Step 1:

[2091] Enter and submit user information

[2092] The user launches the "My Program Guide" application and enters basic information (name, age, gender) and interests (favorite genres, actors, themes, etc.).

[2093] The terminal temporarily stores the input information and transmits it to the server.

[2094] Input data: User's basic information and interests

[2095] Output data: User information sent to the server

[2096] Step 2:

[2097] How we store and classify your information

[2098] The server stores the received user information in a database and categorizes the interest information by category. For example, user A's data may be categorized into "action movies" and "comedies."

[2099] Input data: Received user information (basic information + interest information)

[2100] Output data: User information stored in a database

[2101] Step 3:

[2102] Content collection and indexing

[2103] The server periodically obtains content information from multiple video services using APIs (e.g., Netflix API, Amazon Prime API), analyzes the obtained content information, generates metadata such as genre, cast, and release date, and indexes it using Elasticsearch.

[2104] Input data: Content information obtained from video services

[2105] Output data: Metadata of indexed content

[2106] Specifically, the server sends a request to a specific API endpoint and analyzes the data returned in response to extract metadata.

[2107] Step 4:

[2108] Generate and send customized program listings

[2109] The server compares the user's interests with the indexed metadata to generate a customized program guide for each user, which is then stored in a database for each user and sent to the device.

[2110] Input data: user interests, indexed metadata

[2111] Output data: Program listings customized for each user

[2112] Specifically, the server uses an SQL query to extract the necessary content from the database and generates a program guide based on that content.

[2113] Step 5:

[2114] Displaying the program guide

[2115] The device displays the received program guide within the application. For example, User A's device displays a list of the latest information on "action movies" and "comedy dramas."

[2116] Input data: customized program guide received from the server

[2117] Output data: Program listings displayed within the application

[2118] Step 6:

[2119] Detecting and transmitting emotion data

[2120] While the user is watching content, the device's emotion engine uses the device's camera and microphone to analyze the user's facial expressions and voice in real time, and the analysis results are sent to the server.

[2121] Input data: User's facial expressions and voice

[2122] Output data: Analyzed emotion data

[2123] Specifically, the device uses OpenCV and TensorFlow to analyze facial expressions and sends the results to the server at regular intervals.

[2124] Step 7:

[2125] Emotion data storage and analysis

[2126] The server stores the received emotion data in a database along with the viewing history and analyzes it to reflect in the next recommendation.

[2127] Input data: received emotion data, viewing history

[2128] Output data: Analysis data reflected in recommendations

[2129] Specifically, the server uses machine learning algorithms to analyze emotional data and viewing history and update the recommendation model.

[2130] Step 8:

[2131] Viewing history and sending feedback

[2132] The device records the user's viewing history and sends it to the server, and also provides an interface for users to enter feedback and ratings after viewing.

[2133] Input data: information about content viewed by users, user feedback

[2134] Output data: Viewing history and feedback sent to the server

[2135] Step 9:

[2136] Saving and analyzing viewing history and feedback

[2137] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[2138] Input data: received viewing history and feedback

[2139] Output data: Viewing history and feedback data reflected in recommendations

[2140] Specifically, the server adds the newly acquired data to the database and reflects it in the recommendation algorithm.

[2141] Step 10:

[2142] Community Suggestions and Participation

[2143] The server suggests appropriate communities based on the user's viewing history and interests, and the user can join the communities and interact with other users through their device.

[2144] Input data: viewing history, interest information

[2145] Output data: Community information suggested to the user

[2146] Specifically, the server compares viewing history and interest information to suggest appropriate communities to users. The server manages conversations and comments within the communities in which users participate.

[2147] The above is a description of the specific processing steps of the present invention.

[2148] (Application example 2)

[2149] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2150] Conventional content distribution services provide customized program guides based on users' interests, but do not consider the user's emotions when making recommendations. As a result, users may view content based on their interests, but the viewing experience may not always be optimal. Therefore, a system is needed that provides a more optimized viewing experience by making recommendations that take into account the user's emotional data when viewing.

[2151] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[2152] In this invention, the server includes means for inputting information based on a user's interests, means for acquiring content information from multiple content distribution services, means for analyzing the acquired content information to generate and index metadata, means for generating a customized program guide based on the user's interest information and the indexed metadata, means for transmitting the generated program guide to a user terminal, means for acquiring and storing the user's viewing history and feedback, means for reflecting the stored viewing history and feedback in the next recommendation, means for collecting and analyzing user emotion data using a camera or microphone of the terminal, and means for optimizing recommended content based on the collected emotion data. This makes it possible to reflect the user's emotions while watching in real time and to recommend optimal content that takes into account the emotion data as well as the interest information.

[2153] "User interest information" refers to information about the user's interests and preferences in specific genres, themes, performers, etc.

[2154] "Content information" refers to video and audio data and its metadata obtained from multiple content distribution services.

[2155] "Metadata" is additional information that describes the content, such as the genre of the content, the cast, and the release date.

[2156] "Indexing" is the process of organizing and structuring acquired metadata to make it easier to search and categorize.

[2157] A "customized program guide" is a personalized viewing guide created for each user based on the user's interests and indexed metadata.

[2158] "Viewing history" is a record of content that a user has viewed in the past.

[2159] "Feedback" refers to ratings and comments that users make about the content they have viewed.

[2160] "Terminal" refers to a device used by a user, such as a smartphone, smart glasses, or head-mounted display.

[2161] "Emotion data" is data that indicates emotions such as joy, anger, sadness, and happiness that a user expresses while watching.

[2162] "Emotion recognition" is the process of analyzing emotions from a user's facial expressions and voice using the device's camera and microphone.

[2163] The present invention is a system that recommends optimal content based on user interest information and real-time emotional data. This system operates by linking the user's terminal, a server, and multiple content distribution services.

[2164] Collection of User Information

[2165] user

[2166] Users start up a device with the dedicated application installed and enter basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen.

[2167] Terminal

[2168] The terminal temporarily stores the entered user information and transmits it to the server.

[2169] server

[2170] The server stores the received user information in a database and classifies and stores the interest information by category.

[2171] Generating a Content Index

[2172] server

[2173] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[2174] Generating and providing program guides

[2175] server

[2176] The server compares the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[2177] Terminal

[2178] The terminal displays the received program guide within the application.

[2179] Introducing the Emotion Engine

[2180] Terminal

[2181] While a user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time and sends the results to the server.

[2182] server

[2183] The server stores the received emotion data in a database along with viewing history and feedback, analyzes them, and reflects them in the next recommendation.

[2184] Obtaining viewing history and feedback

[2185] Terminal

[2186] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[2187] server

[2188] The server stores the acquired viewing history and feedback in a database and reflects it in the next recommendation.

[2189] Community Features

[2190] server

[2191] The server suggests appropriate communities based on the user's viewing history and interests, and manages the conversations and comments.

[2192] Terminal

[2193] The terminal provides a community participation interface, allowing users to interact with other users.

[2194] Specific examples

[2195] Example 1

[2196] Let's say User A is interested in "action movies" and "comedy dramas." Based on this information, the server retrieves the latest action movie and comedy drama information from multiple content distribution services and stores it in a database. The server then matches User A's interests with the indexed content and generates an optimal program guide. This program guide is sent to User A's device, and User A can view it within the app.

[2197] Example 2

[2198] While User B is watching a drama, the emotion engine analyzes User B's facial expressions through the device's camera and recognizes emotions such as "emotion" and "enjoyment." This emotion data is sent to the server and stored in a database along with the viewing history. Next time, the server will recommend new dramas that User B is likely to find "emotional" or "enjoyable."

[2199] Prompt Sentence Examples

[2200] "Please give us an overview of your system that recommends the next content to watch based on a user's viewing history and real-time emotional data. What emotional data does it collect, and how does it combine it with the viewing history to make recommendations? Also, what algorithms and technologies does this system use?"

[2201] Please explain the "My Program Guide" system, which uses an emotion engine to optimize the user's viewing experience, and provide examples of how the system uses the user's real-time emotion data and viewing history to make next recommendations.

[2202] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[2203] Step 1:

[2204] The user starts up the device on which the dedicated application is installed and enters basic information (name, age, gender) and interests (favorite genres, themes, performers, etc.) on the user registration screen. The device temporarily stores the entered user information and sends it to the server.

[2205] Input: Name, age, gender, interests

[2206] Output: User information sent to the server

[2207] Step 2:

[2208] The server stores the received user information in a database and classifies and stores the interest information by category.

[2209] Input: User information

[2210] Output: Interests sorted by category

[2211] Step 3:

[2212] The server periodically obtains content information from multiple content distribution services using APIs, analyzes the obtained content information, generates metadata (genre, cast, release date, etc.), indexes it, and stores it in a database.

[2213] Input: Content information obtained from the API of each content distribution service

[2214] Output: Indexed metadata

[2215] Step 4:

[2216] The server matches the user's interests with the indexed content metadata to generate a customized program guide, which is stored in a database for each user and sent to the user's device.

[2217] Input: User interests, indexed metadata

[2218] Output: Customized program guide

[2219] Step 5:

[2220] The terminal displays the received program guide within the application.

[2221] Input: Customized Program Guide

[2222] Output: Program listings displayed within the application

[2223] Step 6:

[2224] While the user is watching content, the device's camera and microphone are used to analyze the user's facial expressions and voice, and the emotion engine recognizes and analyzes the user's emotions in real time, sending the results to the server.

[2225] Input: User facial expressions and voice collected by camera and microphone

[2226] Output: Emotion data sent to the server

[2227] Step 7:

[2228] The server stores the received emotion data in a database along with the viewing history and feedback. The stored viewing history and feedback are analyzed and reflected in the next recommendation.

[2229] Input: Emotional data, viewing history, feedback

[2230] Output: Analysis data to be reflected in the next recommendation

[2231] Step 8:

[2232] The device records the user's viewing history and sends it to the server. After viewing, the device provides an interface for the user to enter feedback and ratings.

[2233] Input: Viewing history, feedback

[2234] Output: Viewing history and feedback data sent to the server

[2235] Step 9:

[2236] The server recommends appropriate communities based on the user's viewing history and interests, and manages the conversations and comments. Users can interact with other users through a community participation interface.

[2237] Input: Viewing history, interest information

[2238] Output: Suggested communities, moderated conversations and comments

[2239] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[2240] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[2241] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[2242] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[2243] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[2244] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[2245] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[2246] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[2247] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[2248] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[2249] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[2250] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[2251] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[2252] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[2253] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[2254] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[2255] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[2256] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[2257] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[2258] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[2259] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[2260] The following is further disclosed regarding the above embodiment.

[2261] (Claim 1)

[2262] a means for inputting user interest-based information;

[2263] means for acquiring content information from a plurality of video services;

[2264] A means for analyzing the acquired content information to generate and index metadata;

[2265] means for generating a customized program listing based on user interests and indexed metadata;

[2266] means for transmitting the generated program guide to a user terminal;

[2267] A means of capturing and storing user viewing history and feedback;

[2268] A way to incorporate saved viewing history and feedback into future recommendations,

[2269] A system including:

[2270] (Claim 2)

[2271] A way to suggest communities based on users' viewing history and feedback;

[2272] 10. The system of claim 1, further comprising means for a user to join the suggested community and interact with other users.

[2273] (Claim 3)

[2274] 10. The system of claim 1, further comprising means for periodically updating the program guide customized for each user based on interest information input by the user.

[2275] "Example 1"

[2276] (Claim 1)

[2277] A means for inputting user basic information and interest information;

[2278] A means for acquiring content information from a plurality of video distribution services;

[2279] A means for analyzing the acquired content information to generate and index metadata;

[2280] means for generating a customized program listing based on user interests and indexed metadata;

[2281] means for transmitting the generated program guide to a user terminal;

[2282] A means of capturing and storing user viewing history and feedback;

[2283] A way to incorporate saved viewing history and feedback into future recommendations,

[2284] A system including:

[2285] (Claim 2)

[2286] A way to suggest communities based on users' viewing history and feedback;

[2287] 10. The system of claim 1, further comprising means for a user to join the suggested community and interact with other users.

[2288] (Claim 3)

[2289] 10. The system of claim 1, further comprising means for periodically updating the program guide customized for each user based on interest information input by the user.

[2290] "Application Example 1"

[2291] (Claim 1)

[2292] a means for inputting user interest-based information;

[2293] means for acquiring content information from a plurality of content providing services;

[2294] A means for analyzing the acquired content information to generate and index metadata;

[2295] means for generating a customized program listing based on user interests and indexed metadata;

[2296] means for transmitting the generated program guide to a user terminal;

[2297] A means of capturing and storing user viewing history and feedback;

[2298] A way to incorporate saved viewing history and feedback into future recommendations,

[2299] A means for acquiring and displaying a program guide customized based on user information on a smart device;

[2300] A system including:

[2301] (Claim 2)

[2302] A way to suggest communities based on users' viewing history and feedback;

[2303] 10. The system of claim 1, further comprising means for a user to join the suggested community and interact with other users.

[2304] (Claim 3)

[2305] 10. The system of claim 1, further comprising means for periodically updating the program guide customized for each user based on interest information input by the user. 【2306...

Claims

1. a means for inputting user interest-based information; means for acquiring content information from a plurality of video services; A means for analyzing the acquired content information to generate and index metadata; means for generating a customized program listing based on user interests and indexed metadata; means for transmitting the generated program guide to a user terminal; A means of capturing and storing user viewing history and feedback; A way to incorporate saved viewing history and feedback into future recommendations, A system including:

2. A way to suggest communities based on users' viewing history and feedback; The system of claim 1 further comprising means for a user to join the proposed community and interact with other users.

3. 10. The system of claim 1, further comprising means for periodically updating the program guide customized for each user based on interest information input by the user.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A