System
The system addresses the challenge of recommending manga, anime, and movies by allowing users to input preferences, analyzing them with natural language processing, and matching with a database to provide highly accurate recommendations.
Patent Information
- Application Number
- JP2024122864
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-02-10
AI Technical Summary
Conventional recommendation systems struggle to accurately recommend manga, anime, and movies based on users' detailed preferences for specific character traits and story elements, often relying on general preferences and failing to reflect individual user tastes.
A system that allows users to input their favorite character types and stories they want to watch, analyzes this data using natural language processing to extract keywords, compares these with a database of works tagged with character traits and story genres, and calculates the degree of match to provide highly accurate recommendations.
Enables users to efficiently find works that suit their specific tastes by generating a list of highly relevant recommendations, increasing user satisfaction and accuracy of content discovery.
Smart Images

Figure 2026021182000001_ABST
Abstract
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] When users search for manga, anime, movies, and other works that suit their preferences, they often have difficulty finding the right work from the many options available. This problem is particularly pronounced when users are particular about specific character traits or story elements. Conventional recommendation systems often make recommendations based on general preferences and viewing history, and are unable to reflect the user's detailed preferences. Therefore, there is a need for a system that can recommend works with greater accuracy that are tailored to the individual preferences of each user. [Means for solving the problem]
[0005] The present invention solves the above problem by providing a system that includes a means for a user to input their favorite character types and stories they want to watch, a means for analyzing the input favorite character types and stories they want to watch, a means for narrowing down recommended candidates from a work database based on the analyzed data, and a means for generating a list of recommended candidates and providing it to the user. Furthermore, by including a means for calculating the degree of match with works in the database using keywords and tags when narrowing down the recommended candidates, and a means for analyzing the preference information input by the user and converting it into pre-set tags, it is possible to make recommendations that reflect the user's detailed preferences.
[0006] A "user" is an individual who uses the system to find works that suit their preferences.
[0007] "Favorite character type" refers to the personality or characteristics of a particular character that a user finds attractive.
[0008] "The story you want to see" refers to the content and genre of the story that interests you.
[0009] "Input means" refers to the device or interface through which a user provides preference information to the system.
[0010] "Means for analyzing" refers to a processing device or algorithm that identifies preferred elements based on information entered by the user and converts them into tags or keywords.
[0011] "Work database" refers to the data storage and structure that manages and stores information about works such as manga, anime, and movies.
[0012] "Means for narrowing down recommended candidates" refers to an algorithm or processing device that uses analyzed keywords and tags to select works in the database that match the user's preferences.
[0013] "Recommended candidate list" refers to a list of works selected based on the user's preferences.
[0014] The "means for providing" refers to an interface or output device for showing the generated list of recommendation candidates to the user.
[0015] "Keywords and Tags" refers to text labels or identifiers used to characterize works or characters.
[0016] "Means for calculating the degree of matching" refers to an algorithm or calculation device for quantifying the relevance between the user's preferences and the information in the work database. [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 is a system that allows users to input their favorite character types and stories they want to watch, and then recommends the most suitable works based on these. Below, the program processing of this system is explained in natural language.
[0039] Getting and parsing user input
[0040] The user enters information into the input form on the device, such as "favorite type of character," "story to watch," and "favorite situation." For example, the user might enter, "I like easygoing, caring characters," and "I want to watch adventure fantasy."
[0041] The terminal transmits this input data to the server in real time.
[0042] The server analyzes the received input data and extracts preferred keywords, such as "easygoing," "caring," "adventure," and "fantasy."
[0043] Narrowing down recommended candidates
[0044] The server then compares the analyzed keywords with its database of works, each of which is tagged with information such as character traits and story genre.
[0045] The server calculates the degree of match between keywords and tags and selects works with a high degree of match, such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0046] Providing recommendation results
[0047] The server compiles the selected works into a list of recommended candidates and transmits it to the terminal.
[0048] The device will display a list of recommended candidates to the user, who can browse titles such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" as "Works that suit your tastes."
[0049] Specific examples
[0050] For example, suppose a user enters conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0051] The terminal transmits this input information to the server in real time.
[0052] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0053] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0054] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0055] The device displays the list to the user, allowing them to efficiently find titles that suit their tastes.
[0056] In this way, the system allows users to efficiently find works that suit their specific tastes.
[0057] The processing flow will be explained below.
[0058] Step 1:
[0059] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0060] Step 2:
[0061] The device sends the information entered by the user to the server in real time, including information about the user's preferred character traits and story genre.
[0062] Step 3:
[0063] The server analyzes the received user input data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0064] Step 4:
[0065] The server then compares the extracted keywords with its own database of works, each of which is tagged with pre-defined tags related to character characteristics and story genre.
[0066] Step 5:
[0067] The server runs an algorithm that calculates the degree of match between the user's preferred keywords and the work tags in the database. For example, it calculates the degree of match between keywords such as "easygoing," "caring," "adventure," and "fantasy," and selects works with high matches.
[0068] Step 6:
[0069] The server sorts the works by the highest match and generates a list of candidates to recommend to the user. The list of recommended candidates may include works such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0070] Step 7:
[0071] The server generates a list of recommended candidates and sends it to the device where the user entered their preference information.
[0072] Step 8:
[0073] The device will then display the list of recommended candidates to the user. For example, the list will be presented in the form of a list of "Works that suit your tastes."
[0074] This system allows users to go through this process and efficiently find works that suit their specific tastes.
[0075] Example 1
[0076] 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."
[0077] Conventional recommendation systems have difficulty efficiently finding suitable works even when users input their specific preferences and requirements. Furthermore, the accuracy of recommendations is low due to the ambiguity of the analysis of input data and comparison with databases. This can lead to users not receiving satisfactory recommendation results, which can diminish the usefulness of the system.
[0078] 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.
[0079] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, means for displaying the suggested recommended candidates, means for calculating the degree of match with works in the database using keywords and tags when narrowing down the recommended candidates, and means for analyzing the preference information input by the user and extracting keywords using a natural language processing library. This makes it possible to provide highly accurate recommendation results that correspond to the user's specific preferences.
[0080] "User" refers to an individual who uses the system to input the type of character they prefer and the story they want to see.
[0081] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that receives user input and transmits it to a server.
[0082] "Server" refers to a computer system that receives input data from users, analyzes it, compares it with a database, and generates recommendations.
[0083] "Preferred character type" refers to information that indicates the characteristics, personality, and traits that a user desires in a particular character.
[0084] "Stories you want to see" refers to information that indicates the genres and themes of stories that users are interested in.
[0085] "Means of analysis" refers to the process of extracting keywords from input data using technologies such as natural language processing to understand user preferences.
[0086] The "database" refers to a collection of works tagged with information such as character traits and story genre.
[0087] "Method of narrowing down recommended candidates" refers to the process of calculating the degree of match of works in the database based on the extracted keywords and selecting the candidate that best matches the user's preferences.
[0088] "List of recommended candidates" refers to a list organized to provide users with a narrowed down list of potential works.
[0089] "Keywords" refer to important words or phrases extracted through analysis from data entered by the user.
[0090] "Tags" refer to labels attached to works in the database that indicate their characteristics or genre.
[0091] "Means for calculating match" refers to the process of comparing keywords and tags and scoring the match between them.
[0092] This invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch. The system is configured using the following hardware and software.
[0093] Hardware and software used
[0094] Hardware: Servers, user devices (PCs, smartphones, tablets, etc.)
[0095] Software: Database management systems (e.g., MySQL), natural language processing libraries (e.g., NLTK, spaCy), web frameworks (e.g., Django, Flask)
[0096] The main functions of this system are to obtain user input, analyze the data, compare it with the database, and select and display recommended candidates.
[0097] Getting User Input
[0098] The user inputs information such as "favorite type of character," "story they want to watch," and "favourite situation" into the input form on the device. For example, consider the case where the user inputs "I like easygoing, caring characters" and "I want to watch adventure fantasy." The device sends this input data to the server in real time.
[0099] Data analysis
[0100] The server analyzes the input data received from the device. It uses a natural language processing library (e.g., spaCy) to analyze the data. The server tokenizes the text and extracts important keywords. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted.
[0101] Database Matching
[0102] The server compares the extracted keywords with its database of works. Each work in the database is tagged with information such as character traits and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0103] Selection and display of recommended candidates
[0104] The server selects works with the highest degree of match as recommendation candidates and generates a list of recommendation candidates. For example, "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" may be listed. The generated list is sent to the device and displayed to the user. The user can then find works that interest them based on the list of recommendation candidates.
[0105] Specific examples
[0106] For example, consider the case where a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0107] The terminal transmits this input information to the server in real time.
[0108] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0109] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0110] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0111] The device displays the list to the user, allowing the user to efficiently find works that suit their preferences.
[0112] Examples of prompt statements
[0113] "Users' preferred character type is a caring older brother, and the stories they want to see are coming-of-age fantasies. Please recommend works that fit these criteria."
[0114] "Please tell me some adventure fantasy works that feature easygoing, caring characters."
[0115] "I'm looking for a mystery story that doesn't depict the events in a brutal way, and that features a reliable big brother character."
[0116] These prompts can be fed into a generative AI model to provide recommendations tailored to the user's preferences.
[0117] In this way, users can easily find works that match their specific tastes. The system is designed to provide highly accurate recommendation results, which can increase user satisfaction.
[0118] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0119] Step 1:
[0120] Users input their preferred character type and the story they want to watch into the device. The input form allows users to enter specific criteria, such as "I like easygoing, caring characters" or "I want to watch an adventure fantasy." The input data is structured in JSON format and sent to the server in real time by the device.
[0121] Specific behavior:
[0122] Input: User preference information (character type, story you want to see)
[0123] Output: Send input data (JSON format)
[0124] Step 2:
[0125] The server receives and analyzes input data from the device. A natural language processing library (e.g., spaCy) is used for the analysis. The text is tokenized and important keywords are extracted. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted. The extracted keywords are compiled into a list and passed to the next step.
[0126] Specific behavior:
[0127] Input: User input data (JSON format)
[0128] Data processing: Analyze data and extract keywords using natural language processing libraries
[0129] Output: A list of keywords
[0130] Step 3:
[0131] The server compares the extracted keywords with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0132] Specific behavior:
[0133] Input: A list of keywords
[0134] Data calculation: Performs database queries and calculates match scores
[0135] Output: A list of works with the highest match
[0136] Step 4:
[0137] The server compiles a list of highly matching works into a recommendation candidate list using a statistical scoring algorithm, and the recommendation candidate list is structured in JSON format and sent to the device.
[0138] Specific behavior:
[0139] Input: A list of works with high matching scores
[0140] Data processing: Generating a list of recommendation candidates (statistical scoring)
[0141] Output: Recommendation candidate list (JSON format)
[0142] Step 5:
[0143] The device analyzes the list of recommended candidates received from the server and displays it to the user, allowing the user to find works that interest them based on the list of recommended candidates. The displayed information includes the title of the work, a brief description, and other related information.
[0144] Specific behavior:
[0145] Input: Recommendation candidate list (JSON format)
[0146] Data processing: List analysis and generation of display data
[0147] Output: Display a list of recommended works
[0148] By following these steps, users can efficiently find works that suit their tastes.
[0149] (Application example 1)
[0150] 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."
[0151] Current content distribution services have the problem that it is difficult for users to efficiently find works that match their preferences. Users have to spend a lot of time searching for works that suit them, which results in lower satisfaction. Furthermore, conventional recommendation systems often rely on simple keyword matching and categorization, making it difficult to respond to the detailed preferences of individual users. For this reason, there is a need for highly accurate recommendations that take into account the diverse preferences of users.
[0152] 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.
[0153] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, and means for analyzing the data using a generative AI model, thereby enabling highly accurate content recommendations based on the user's specific preferences.
[0154] A "user" is a content recipient who utilizes the system to input the type of character they prefer and the story they want to see.
[0155] "Character type" refers to the characteristics of characters with specific personalities and roles that appear in stories that users like to watch.
[0156] A "story" is the subject or genre of story a user wants to watch or read.
[0157] The "means for inputting" is an interface that allows the user to input to the system the type of character they prefer and the story they want to see.
[0158] The "analyzing means" refers to a method and device for converting the information about the character type and story entered by the user into an easily understandable format and extracting keywords.
[0159] "Means for narrowing down recommended candidates based on data" refers to the process of selecting content from the system's database that is likely to match the user's preferences based on analyzed keywords.
[0160] The "means for generating and providing a list of recommendation candidates" is a mechanism for visually presenting the narrowed down recommendation candidates to the user.
[0161] "Means of using generative AI models to analyze data" refers to a method that uses generative AI models to perform natural language processing, analyzes information entered by users, and extracts appropriate keywords and tags.
[0162] A "generative AI model" is an advanced artificial intelligence model (e.g., BERT, GPT-3) that understands and generates text data.
[0163] A "prompt" is text information input into a generative AI model, and is text in the form of instructions or questions that form the basis of the analysis and generation process.
[0164] "Content" refers to all entertainment works such as videos, anime, dramas, movies, novels, and manga.
[0165] A "database" is a collection of content information held by the system, with each piece of content tagged with characteristic information.
[0166] This invention is a system that recommends optimal content based on the user's input of their preferred character type and the story they want to see. Below, the program processing of this system will be explained in natural language.
[0167] Getting and parsing user input
[0168] Users use a device (smartphone app) to input their preferred character type and the story they want to see. For example, a user might input "a leader type who values his friends" or "adventure fantasy." This input data is sent to the server in real time.
[0169] Data preparation and analysis
[0170] The server receives the data sent by the user and analyzes it using a generative AI model. Specifically, it uses a generative AI model (e.g., GPT-3) to extract keywords from the input data. For example, from the input "leader type who values friends" and "adventure fantasy," it extracts keywords such as "friends," "leader," "adventure," and "fantasy."
[0171] Narrowing down recommended candidates
[0172] Based on the extracted keywords, the server compares them with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and selects works with a high degree of match. This process uses algorithms such as TF-IDF and cosine similarity.
[0173] Providing recommendation results
[0174] The server then lists the works selected based on the degree of similarity and generates a list of recommended candidates. This list is sent to the terminal and displayed to the user, allowing the user to easily select works that suit their preferences from the list of recommended candidates.
[0175] Hardware and software used
[0176] The system uses the following hardware and software:
[0177] Hardware:
[0178] Smartphone (iOS or Android)
[0179] Server (can be operated on AWS, Azure, Google Cloud, etc.)
[0180] software:
[0181] Client side: React Native, Flutter
[0182] Server side: Node.js, Python (Flask, Django)
[0183] Database: PostgreSQL, MongoDB
[0184] Generative AI models: PyTorch, TensorFlow
[0185] API: Implementing RESTful API
[0186] Specific examples
[0187] For example, suppose a user inputs "a leader type who values his friends" and "adventure fantasy." The device sends this input information to the server in real time. The server extracts keywords such as "friends," "leader," "adventure," and "fantasy" and compares them with the database. It calculates the degree of match and selects works such as "adventure anime" and "movies with a leader as the main character" as highly rated. These works are then generated as a list of recommended candidates, which the user can view.
[0188] Example prompt sentence:
[0189] I like stories that feature leader-type characters who value their allies. I'd like to see an adventure fantasy story. What stories would you recommend?
[0190] In this way, highly accurate content recommendations based on the user's specific preferences are possible.
[0191] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0192] Step 1:
[0193] The user launches the smartphone app and inputs the type of character they like and the story they want to see. Specifically, they input prompts such as "a leader type who values his friends" or "adventure fantasy" into the text box. The input data is formatted and sent to the next process.
[0194] Step 2:
[0195] The device sends the entered user data to the server in real time. At this time, the input data is converted into structured data such as JSON format and sent to the server as an API request via the HTTP protocol. Input: User-selected text data. Output: Structured API request data.
[0196] Step 3:
[0197] The server analyzes the received user data. In this step, a generative AI model (e.g., GPT-3) is used to analyze the meaning of the input data and extract important keywords. For example, from the text "A leader type who values his peers," keywords such as "peers," "leader," and "respect" are extracted. Input: Data sent in the API request. Output: Extracted keywords.
[0198] Step 4:
[0199] The server compares the extracted keywords with a database of works. The database contains pre-registered tag information and features for each piece of content, and the server calculates the degree of match using algorithms such as TF-IDF and cosine similarity. Input: Extracted keywords. Output: List of works with high match rates.
[0200] Step 5:
[0201] The server lists works with high matching scores and generates a list of recommendation candidates. The recommendation candidate list is constructed so that works that are most likely to match the user's preferences are ranked at the top. Input: List of works with high matching scores. Output: List of recommendation candidates.
[0202] Step 6:
[0203] The server sends the generated list of recommendation candidates to the device. The list of recommendation candidates is converted back into structured data such as JSON format and returned to the client app via the HTTP protocol. Input: List of recommendation candidates. Output: Structured response data.
[0204] Step 7:
[0205] The device displays the received list of recommendation candidates to the user. The user can select an item of interest from the list and view its details. Input: Structured response data. Output: List of recommendation candidates displayed to the user.
[0206] These steps allow users to efficiently find content that meets their specific preferences.
[0207] 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.
[0208] The present invention is a system that recommends the most suitable works based on the user's input of their favorite character types and stories they want to watch, and by combining it with an emotion engine, it is possible to make more accurate recommendations based on the user's emotions. Below, the program processing of this system is explained in natural language.
[0209] Getting and parsing user input
[0210] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0211] Emotion recognition by emotion engine
[0212] The device recognizes the user's emotions using an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice, typing speed, etc. to identify the user's emotional state (e.g., excitement, joy, fatigue, etc.).
[0213] Data transmission and analysis
[0214] The terminal transmits the user's input data and recognized emotion data to the server in real time.
[0215] The server analyzes the received user input data and emotional data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0216] Narrowing down recommended candidates
[0217] The server compares the analyzed keywords and emotional data with its own work database. Each work in the database is tagged with pre-defined character traits and story genres. It also prioritizes works that match the user's emotional state.
[0218] The server calculates the degree of match between keywords and tags, and selects works with high match rates by taking into account emotional data. For example, if the keywords are "easygoing," "caring," "adventure," and "fantasy," and the user is in an excited state, the server will recommend works with many action scenes.
[0219] Providing recommendation results
[0220] The server sorts the works in order of highest degree of match, generates a list of recommendation candidates that also takes into account emotional data, and sends it to the terminal.
[0221] The device displays a list of recommended works to the user, for example, in the form of a list of "Works that suit your tastes." It also provides visual or auditory feedback according to the user's emotional state.
[0222] Specific examples
[0223] For example, suppose a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story with a not-too-grown-up plot." At the same time, the emotion engine recognizes the user's facial expression and voice as being "excited."
[0224] The device transmits this input information and emotion data to the server in real time.
[0225] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0226] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0227] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0228] The device displays the list to the user, allowing them to efficiently find titles that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0229] In this way, the system takes into account both the user's specific preferences and emotional state, enabling it to recommend works with greater accuracy.
[0230] The processing flow will be explained below.
[0231] Step 1:
[0232] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0233] Step 2:
[0234] The device uses an emotion engine to recognize the user's emotions based on the user's facial expressions, voice, or typing speed while inputting. For example, it can identify the user's emotional state, such as whether they are excited or relaxed.
[0235] Step 3:
[0236] The device transmits the user's input data and recognized emotional data to the server in real time, including information about the user's preferred character traits and story genre, as well as the user's recognized emotional state.
[0237] Step 4:
[0238] The server analyzes the received user input data and emotional data. It uses a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text. It also identifies the user's current emotional state from the emotional data.
[0239] Step 5:
[0240] The server compares the analyzed keywords and emotion data with a database of works, each of which is given pre-defined tags related to character characteristics and story genre.
[0241] Step 6:
[0242] The server uses a matching algorithm to calculate the degree of match between the user's preferred keywords and the work tags in the database. It also takes into account the user's emotional state to select works with high matching scores. For example, if the user is in an excited state, it will prioritize recommending works with many action scenes.
[0243] Step 7:
[0244] The server sorts the works in descending order of similarity, generates a list of recommendation candidates taking into account the emotional data, and transmits it to the terminal. The recommendation candidate list includes works with high similarity.
[0245] Step 8:
[0246] The device displays a list of recommended works to the user, in the form of a list of "works that suit your tastes," and also provides visual or auditory feedback according to the user's emotional state.
[0247] This process allows users to efficiently find works that match their specific preferences, and the emotional engine provides visual and auditory feedback, allowing users to enjoy a more satisfying experience.
[0248] Example 2
[0249] 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."
[0250] Conventional recommendation systems only recommended works based on the user's preferred character types and the stories they wanted to watch, which resulted in inaccurate recommendations. Furthermore, because they did not take into account the user's current emotional state, it was difficult to recommend works that matched the user's current mood or state. This resulted in the problem of being unable to sufficiently improve user satisfaction.
[0251] 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.
[0252] In this invention, the server includes means for allowing a user to input their favorite character types and stories they want to watch, means for recognizing the user's emotions using an emotion engine during user input, means for analyzing the input favorite character types, stories they want to watch, and emotions, means for narrowing down recommendation candidates from a work database based on the analyzed data, and means for generating a list of recommendation candidates and providing it to the user. This enables more accurate work recommendations that take into account both the user's specific preferences and their current emotional state.
[0253] "User" refers to an individual or group that uses the system and inputs the type of character they prefer and the story they want to see.
[0254] "Character type" refers to information indicating the characteristics of the character that the user prefers, such as personality, appearance, and role.
[0255] "Story" refers to the entire story of the work recommended by the system.
[0256] An "emotion engine" refers to technology or algorithms that analyze a user's facial expressions, voice characteristics, input speed, etc. while they are typing to recognize their current emotional state.
[0257] "Input means" refers to a device or interface (e.g., keyboard, mouse, touch panel, etc.) that allows a user to input information into a system.
[0258] "Analysis means" refers to software or algorithms used to analyze data and emotional data entered by users.
[0259] "Recommended candidates" refer to candidate works that are narrowed down based on the user's input data and emotion data and are recommended to the user.
[0260] "Works Database" refers to a database that the recommendation system accesses and searches for candidate works for recommendation.
[0261] "Tags" are labels that indicate the characteristics or genre of a work or character, and refer to keywords used by the recommendation system when searching data.
[0262] "Matchability" refers to a score or rating that indicates the relevance of the user's input data and emotion data to the work tags in the database.
[0263] The "recommended candidate list" refers to a list of works that are considered to be most suitable for the user, created based on the analysis results.
[0264] The present invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch, and by combining it with an emotion engine, it makes even more accurate recommendations based on the user's emotions.
[0265] Getting and Parsing User Input
[0266] Using the input form on the device, the user inputs information such as "favorite type of character," "story to watch," and "favorite situation." For example, the user can specifically describe their preferences, such as "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0267] Emotion recognition by emotion engine
[0268] The device activates an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice characteristics, typing speed, etc. to recognize the user's current emotional state (e.g., excitement, joy, fatigue, etc.). The emotion engine recognizes the user's face through the camera and reads emotions from facial expressions. It can also use the microphone to analyze voice tone and speed to evaluate emotions.
[0269] Data transmission and analysis
[0270] The device transmits the user-entered data and the recognized emotion data to the server in real time using a secure protocol (e.g., HTTPS). The transmitted data is packaged in JSON format.
[0271] The server analyzes the received user input data and sentiment data, using text analysis algorithms and natural language processing models (e.g., BERT) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user input.
[0272] Narrowing down recommended candidates
[0273] The server searches a database of artworks based on the analyzed keywords and emotional data. Each artwork is assigned predefined tags and metadata, and the server selects artworks with the highest match. The server searches the database using SQL queries or full-text search (e.g., Elasticsearch) and applies a matching algorithm. The emotional data is added as a weight to the recommendation score, enabling recommendations tailored to the user's preferences and emotional state.
[0274] Providing recommendation results
[0275] The server sorts the works in descending order of similarity, generates a list of recommended candidates, and transmits it to the terminal.
[0276] The device displays a list of recommended candidates to the user, allowing the user to easily find works that suit their preferences. After receiving the recommendation results, the device displays the list through a user interface, and also has the ability to display detailed information with hover effects and click operations.
[0277] Specific examples
[0278] For example, a user may input conditions such as "a caring and reliable big brother character," "a fantasy with a growing story," and "a mystery with a not-too-grown-up plot." The emotion engine then recognizes the user's facial expression and voice as "excited."
[0279] The device transmits this input information and emotion data to the server in real time.
[0280] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0281] The degree of match is calculated and works such as "Work A," "Work B," and "Work C" are listed as highly rated.
[0282] The server generates a list of these works as recommendation candidates and transmits it to the terminal.
[0283] The device displays the list to the user, allowing them to efficiently find works that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0284] Prompt Sentence Examples
[0285] "I'd like to recommend a fantasy mystery story about growing up, featuring a caring and dependable big brother character. I'd like to see a work that doesn't depict events in a brutal way. I'm also excited right now."
[0286] As a result, this system can realize more appropriate and accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0287] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0288] Step 1: Getting User Input
[0289] The user uses the input form on the device to input information such as "favorite type of character," "story they want to watch," and "favorite situation." For example, they can input specific preferences such as "I like easygoing, caring characters" or "I want to watch adventure fantasy." The input data is converted into JSON format and saved on the device.
[0290] Step 2: Emotion recognition by the emotion engine
[0291] The device activates the emotion engine while the user is filling out a form. The emotion engine recognizes the user's face through the camera and collects facial expression data. It also uses a microphone to collect the user's voice and analyzes the tone and speed of the voice to determine the user's emotional state. This emotion data is compiled in JSON format and analyzed in real time.
[0292] Step 3: Send data to the server
[0293] The device combines the user-entered preference data and recognized emotion data into a JSON package and sends it to the server using the HTTPS protocol, including the character's preferences, story type, situation, and emotional state.
[0294] Step 4: Analyze user data
[0295] The server analyzes the received JSON data. First, it uses a text analysis algorithm (such as the BERT natural language processing model) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user's input data. It also analyzes the emotion data to identify states such as excitement, joy, and fatigue. The analysis results are stored in an internal data structure.
[0296] Step 5: Narrow down your recommendations
[0297] The server searches a database of works based on the analyzed keywords and emotional data. The database contains pre-defined tags and metadata for each work. The server uses SQL or a full-text search engine (e.g., Elasticsearch) to extract works that match the user's preferences. At the same time, the server takes into account the emotional data and prioritizes works that best suit the user's current emotional state.
[0298] Step 6: Calculate match and generate recommendation list
[0299] The server calculates the degree of match between keywords and tags, incorporates emotional data into the score, and selects the work that best matches. For example, for keywords such as "easygoing and caring," "adventure," and "fantasy," and for a user who is in an "excited state," a work with many action scenes will receive a high score. The list of recommended candidates is sorted by match score, organized in JSON format, and sent to the device.
[0300] Step 7: Providing Recommendations
[0301] The device displays the received list of recommendation candidates to the user. A GUI (Graphical User Interface) is used to allow the user to easily find works that match their preferences. For example, candidate works are presented in a list format as "Works that suit your tastes," and detailed information is displayed using hover effects and click operations. Feedback from the emotion engine is also used to enhance the visual and auditory effects.
[0302] By clarifying the specific actions and data flow performed at each step, the system can simultaneously consider the user's specific preferences and current emotional state, enabling more appropriate and accurate work recommendations.
[0303] (Application example 2)
[0304] 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."
[0305] Conventional content recommendation systems only make recommendations based on the user's preferred characters and story types, and do not take the user's emotional state into account, resulting in low recommendation accuracy. Furthermore, they lack visual and auditory feedback tailored to the user's emotions, which can lead to low user satisfaction. Therefore, the present invention solves these problems by providing a content recommendation system that takes the user's emotional state into account.
[0306] 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.
[0307] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means including an emotion engine that recognizes the user's emotional state, means for narrowing down recommendation candidates from a content database based on the analyzed data and emotion data, and means for generating a list of recommendation candidates and providing it to the user. This enables highly accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0308] "User" refers to any person who uses the System to receive content recommendations.
[0309] "Favorite character type" refers to the characteristics of characters that a user finds particularly attractive.
[0310] "Stories you want to see" refers to the types and content of stories that users are interested in.
[0311] "Emotional state" refers to the psychological state recognized from the user's facial expressions, voice, etc.
[0312] An "emotion engine" refers to software or hardware that recognizes a user's emotional state in real time.
[0313] "Content database" refers to data storage that stores information about each piece of content.
[0314] "Recommendations" refers to a list of content selected based on the user's preferences and emotional state.
[0315] "Analyzed data" refers to the results of processing by the data analysis means information entered by the user regarding the type of preferred character and the story they wish to watch.
[0316] "Tags" refer to pre-defined keywords or labels that indicate the characteristics of content.
[0317] "Keywords" refer to important words that users use when entering their preferred type of character or the story they want to see.
[0318] "Matchability" refers to an index that quantifies the similarity between the user's input data and analysis results and the information in the content database.
[0319] The system for realizing this invention includes a means for users to input their preferred character types and stories they want to see. The user inputs this information using a smartphone or other interface device. The input data is sent to the system where it is analyzed in real time.
[0320] The server has a way to analyze the input of the preferred character type and story you want to watch, using a Python natural language processing library (e.g., NLTK or spaCy) to extract specific keywords and tags, and then uses an emotion engine (e.g., a model built with TensorFlow or Keras) to recognize the user's emotional state to obtain emotion data.
[0321] The acquired emotion data and input data are compared with a content database stored on the server to select appropriate recommendation candidates. The content database is pre-assigned tags and keywords related to the content, and an algorithm is implemented to calculate the degree of match. In this calculation, a scoring system is used to quantify the degree of match.
[0322] The list of recommendation candidates generated by the above process is sent from the server to the user's device and provided to the user. The device displays the recommended content as a list organized taking into account the user's preferences and emotional state. It also provides visual and auditory feedback to the user according to the emotional state recognized by the emotion engine.
[0323] For example, suppose a user likes "brave heroes," "adventure fantasy," and "story with little sadness," and is in an "excited state." In this case, the server analyzes the keywords "brave heroes," "adventure fantasy," and "story with little sadness," and recognizes the "excited state" using an emotion engine. Based on this data, it narrows down the content database to highly matching content as recommendation candidates and provides them to the user.
[0324] Example prompts to input to a generative AI model:
[0325] "Imagine a user likes 'brave heroes,' 'adventure fantasy,' 'story with little sadness,' and is in an 'excited state.' Recommend a list of anime titles that would be best suited for this user."
[0326] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0327] Step 1:
[0328] The device provides a means for the user to input information about the type of character they prefer and the story they want to see. The user uses a form on their smartphone to input their preferences, such as "brave hero" or "adventure fantasy." This input data is then sent to step 2.
[0329] Step 2:
[0330] The device sends the input data received from the user to the server for analysis. After receiving the user's input data, the server performs text analysis using Python's natural language processing library (NLTK or spaCy). As a result of the analysis, identified keywords and tags are extracted and the process proceeds to the next step.
[0331] Step 3:
[0332] The emotion engine provides a means to recognize the user's emotional state. It collects the user's facial and voice data and performs real-time emotion analysis using TensorFlow and Keras. This process is performed in parallel with the user's input data. The recognized emotion data is then sent to the server.
[0333] Step 4:
[0334] The server searches the content database based on the analyzed keywords, tags, and emotional data. The works in the database are pre-assigned tags and keywords, and the server calculates the degree of match between these and the user's input data and emotional data. A scoring system is used to quantify the degree of match, narrowing down the search to the appropriate content.
[0335] Step 5:
[0336] The server generates a list of recommendation candidates from the filtered content. The list is sorted in descending order of similarity and is constructed taking into account the user's emotional data. This list is then sent to the device.
[0337] Step 6:
[0338] The device displays the list of recommendation candidates received from the server to the user. The recommendation results are visually organized based on the user's preferences and are presented to the user. Depending on the results of the emotion engine, visual or auditory feedback is also provided to improve the user experience.
[0339] Summary of input and output for each processing step
[0340] Step 1
[0341] Input: The type of character the user wants to see and the story they want to see.
[0342] Output: Input data from smartphone
[0343] Step 2
[0344] Input: Input data sent from the smartphone
[0345] Output: Analyzed keywords and tags (text analysis results)
[0346] Step 3
[0347] Input: User facial and voice data
[0348] Output: Recognized emotion data
[0349] Step 4
[0350] Input: Analyzed keywords, tags, and sentiment data
[0351] Output: Match score and filtered content
[0352] Step 5
[0353] Input: Match score and filtered content
[0354] Output: Recommendation candidate list
[0355] Step 6
[0356] Input: Recommendation candidate list
[0357] Output: Recommendations and feedback displayed to the user
[0358] 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.
[0359] 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.
[0360] 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.
[0361] [Second embodiment]
[0362] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0363] 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.
[0364] 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).
[0365] 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.
[0366] 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.
[0367] 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).
[0368] 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.
[0369] 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.
[0370] 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.
[0371] 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.
[0372] 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.
[0373] 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."
[0374] The present invention is a system that allows users to input their favorite character types and stories they want to watch, and then recommends the most suitable works based on these. Below, the program processing of this system is explained in natural language.
[0375] Getting and parsing user input
[0376] The user enters information into the input form on the device, such as "favorite type of character," "story to watch," and "favorite situation." For example, the user might enter, "I like easygoing, caring characters," and "I want to watch adventure fantasy."
[0377] The terminal transmits this input data to the server in real time.
[0378] The server analyzes the received input data and extracts preferred keywords, such as "easygoing," "caring," "adventure," and "fantasy."
[0379] Narrowing down recommended candidates
[0380] The server then compares the analyzed keywords with its database of works, each of which is tagged with information such as character traits and story genre.
[0381] The server calculates the degree of match between keywords and tags and selects works with a high degree of match, such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0382] Providing recommendation results
[0383] The server compiles the selected works into a list of recommended candidates and transmits it to the terminal.
[0384] The device will display a list of recommended candidates to the user, who can browse titles such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" as "Works that suit your tastes."
[0385] Specific examples
[0386] For example, suppose a user enters conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0387] The terminal transmits this input information to the server in real time.
[0388] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0389] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0390] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0391] The device displays the list to the user, allowing them to efficiently find titles that suit their tastes.
[0392] In this way, the system allows users to efficiently find works that suit their specific tastes.
[0393] The processing flow will be explained below.
[0394] Step 1:
[0395] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0396] Step 2:
[0397] The device sends the information entered by the user to the server in real time, including information about the user's preferred character traits and story genre.
[0398] Step 3:
[0399] The server analyzes the received user input data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0400] Step 4:
[0401] The server then compares the extracted keywords with its own database of works, each of which is tagged with pre-defined tags related to character characteristics and story genre.
[0402] Step 5:
[0403] The server runs an algorithm that calculates the degree of match between the user's preferred keywords and the work tags in the database. For example, it calculates the degree of match between keywords such as "easygoing," "caring," "adventure," and "fantasy," and selects works with high matches.
[0404] Step 6:
[0405] The server sorts the works by the highest match and generates a list of candidates to recommend to the user. The list of recommended candidates may include works such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0406] Step 7:
[0407] The server generates a list of recommended candidates and sends it to the device where the user entered their preference information.
[0408] Step 8:
[0409] The device will then display the list of recommended candidates to the user. For example, the list will be presented in the form of a list of "Works that suit your tastes."
[0410] This system allows users to go through this process and efficiently find works that suit their specific tastes.
[0411] Example 1
[0412] 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."
[0413] Conventional recommendation systems have difficulty efficiently finding suitable works even when users input their specific preferences and requirements. Furthermore, the accuracy of recommendations is low due to the ambiguity of the analysis of input data and comparison with databases. This can lead to users not receiving satisfactory recommendation results, which can diminish the usefulness of the system.
[0414] 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.
[0415] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, means for displaying the suggested recommended candidates, means for calculating the degree of match with works in the database using keywords and tags when narrowing down the recommended candidates, and means for analyzing the preference information input by the user and extracting keywords using a natural language processing library. This makes it possible to provide highly accurate recommendation results that correspond to the user's specific preferences.
[0416] "User" refers to an individual who uses the system to input the type of character they prefer and the story they want to see.
[0417] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that receives user input and transmits it to a server.
[0418] "Server" refers to a computer system that receives input data from users, analyzes it, compares it with a database, and generates recommendations.
[0419] "Preferred character type" refers to information that indicates the characteristics, personality, and traits that a user desires in a particular character.
[0420] "Stories you want to see" refers to information that indicates the genres and themes of stories that users are interested in.
[0421] "Means of analysis" refers to the process of extracting keywords from input data using technologies such as natural language processing to understand user preferences.
[0422] The "database" refers to a collection of works tagged with information such as character traits and story genre.
[0423] "Method of narrowing down recommended candidates" refers to the process of calculating the degree of match of works in the database based on the extracted keywords and selecting the candidate that best matches the user's preferences.
[0424] "List of recommended candidates" refers to a list organized to provide users with a narrowed down list of potential works.
[0425] "Keywords" refer to important words or phrases extracted through analysis from data entered by the user.
[0426] "Tags" refer to labels attached to works in the database that indicate their characteristics or genre.
[0427] "Means for calculating match" refers to the process of comparing keywords and tags and scoring the match between them.
[0428] This invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch. The system is configured using the following hardware and software.
[0429] Hardware and software used
[0430] Hardware: Servers, user devices (PCs, smartphones, tablets, etc.)
[0431] Software: Database management systems (e.g., MySQL), natural language processing libraries (e.g., NLTK, spaCy), web frameworks (e.g., Django, Flask)
[0432] The main functions of this system are to obtain user input, analyze the data, compare it with the database, and select and display recommended candidates.
[0433] Getting User Input
[0434] The user inputs information such as "favorite type of character," "story they want to watch," and "favourite situation" into the input form on the device. For example, consider the case where the user inputs "I like easygoing, caring characters" and "I want to watch adventure fantasy." The device sends this input data to the server in real time.
[0435] Data analysis
[0436] The server analyzes the input data received from the device. It uses a natural language processing library (e.g., spaCy) to analyze the data. The server tokenizes the text and extracts important keywords. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted.
[0437] Database Matching
[0438] The server compares the extracted keywords with its database of works. Each work in the database is tagged with information such as character traits and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0439] Selection and display of recommended candidates
[0440] The server selects works with the highest degree of match as recommendation candidates and generates a list of recommendation candidates. For example, "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" may be listed. The generated list is sent to the device and displayed to the user. The user can then find works that interest them based on the list of recommendation candidates.
[0441] Specific examples
[0442] For example, consider the case where a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0443] The terminal transmits this input information to the server in real time.
[0444] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0445] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0446] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0447] The device displays the list to the user, allowing the user to efficiently find works that suit their preferences.
[0448] Examples of prompt statements
[0449] "Users' preferred character type is a caring older brother, and the stories they want to see are coming-of-age fantasies. Please recommend works that fit these criteria."
[0450] "Please tell me some adventure fantasy works that feature easygoing, caring characters."
[0451] "I'm looking for a mystery story that doesn't depict the events in a brutal way, and that features a reliable big brother character."
[0452] These prompts can be fed into a generative AI model to provide recommendations tailored to the user's preferences.
[0453] In this way, users can easily find works that match their specific tastes. The system is designed to provide highly accurate recommendation results, which can increase user satisfaction.
[0454] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0455] Step 1:
[0456] Users input their preferred character type and the story they want to watch into the device. The input form allows users to enter specific criteria, such as "I like easygoing, caring characters" or "I want to watch an adventure fantasy." The input data is structured in JSON format and sent to the server in real time by the device.
[0457] Specific behavior:
[0458] Input: User preference information (character type, story you want to see)
[0459] Output: Send input data (JSON format)
[0460] Step 2:
[0461] The server receives and analyzes input data from the device. A natural language processing library (e.g., spaCy) is used for the analysis. The text is tokenized and important keywords are extracted. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted. The extracted keywords are compiled into a list and passed to the next step.
[0462] Specific behavior:
[0463] Input: User input data (JSON format)
[0464] Data processing: Analyze data and extract keywords using natural language processing libraries
[0465] Output: A list of keywords
[0466] Step 3:
[0467] The server compares the extracted keywords with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0468] Specific behavior:
[0469] Input: A list of keywords
[0470] Data calculation: Performs database queries and calculates match scores
[0471] Output: A list of works with the highest match
[0472] Step 4:
[0473] The server compiles a list of highly matching works into a recommendation candidate list using a statistical scoring algorithm, and the recommendation candidate list is structured in JSON format and sent to the device.
[0474] Specific behavior:
[0475] Input: A list of works with high matching scores
[0476] Data processing: Generating a list of recommendation candidates (statistical scoring)
[0477] Output: Recommendation candidate list (JSON format)
[0478] Step 5:
[0479] The device analyzes the list of recommended candidates received from the server and displays it to the user, allowing the user to find works that interest them based on the list of recommended candidates. The displayed information includes the title of the work, a brief description, and other related information.
[0480] Specific behavior:
[0481] Input: Recommendation candidate list (JSON format)
[0482] Data processing: List analysis and generation of display data
[0483] Output: Display a list of recommended works
[0484] By following these steps, users can efficiently find works that suit their tastes.
[0485] (Application example 1)
[0486] 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."
[0487] Current content distribution services have the problem that it is difficult for users to efficiently find works that match their preferences. Users have to spend a lot of time searching for works that suit them, which results in lower satisfaction. Furthermore, conventional recommendation systems often rely on simple keyword matching and categorization, making it difficult to respond to the detailed preferences of individual users. For this reason, there is a need for highly accurate recommendations that take into account the diverse preferences of users.
[0488] 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.
[0489] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, and means for analyzing the data using a generative AI model, thereby enabling highly accurate content recommendations based on the user's specific preferences.
[0490] A "user" is a content recipient who utilizes the system to input the type of character they prefer and the story they want to see.
[0491] "Character type" refers to the characteristics of characters with specific personalities and roles that appear in stories that users like to watch.
[0492] A "story" is the subject or genre of story a user wants to watch or read.
[0493] The "means for inputting" is an interface that allows the user to input to the system the type of character they prefer and the story they want to see.
[0494] The "analyzing means" refers to a method and device for converting the information about the character type and story entered by the user into an easily understandable format and extracting keywords.
[0495] "Means for narrowing down recommended candidates based on data" refers to the process of selecting content from the system's database that is likely to match the user's preferences based on analyzed keywords.
[0496] The "means for generating and providing a list of recommendation candidates" is a mechanism for visually presenting the narrowed down recommendation candidates to the user.
[0497] "Means of using generative AI models to analyze data" refers to a method that uses generative AI models to perform natural language processing, analyzes information entered by users, and extracts appropriate keywords and tags.
[0498] A "generative AI model" is an advanced artificial intelligence model (e.g., BERT, GPT-3) that understands and generates text data.
[0499] A "prompt" is text information input into a generative AI model, and is text in the form of instructions or questions that form the basis of the analysis and generation process.
[0500] "Content" refers to all entertainment works such as videos, anime, dramas, movies, novels, and manga.
[0501] A "database" is a collection of content information held by the system, with each piece of content tagged with characteristic information.
[0502] This invention is a system that recommends optimal content based on the user's input of their preferred character type and the story they want to see. Below, the program processing of this system will be explained in natural language.
[0503] Getting and parsing user input
[0504] Users use a device (smartphone app) to input their preferred character type and the story they want to see. For example, a user might input "a leader type who values his friends" or "adventure fantasy." This input data is sent to the server in real time.
[0505] Data preparation and analysis
[0506] The server receives the data sent by the user and analyzes it using a generative AI model. Specifically, it uses a generative AI model (e.g., GPT-3) to extract keywords from the input data. For example, from the input "leader type who values friends" and "adventure fantasy," it extracts keywords such as "friends," "leader," "adventure," and "fantasy."
[0507] Narrowing down recommended candidates
[0508] Based on the extracted keywords, the server compares them with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and selects works with a high degree of match. This process uses algorithms such as TF-IDF and cosine similarity.
[0509] Providing recommendation results
[0510] The server then lists the works selected based on the degree of similarity and generates a list of recommended candidates. This list is sent to the terminal and displayed to the user, allowing the user to easily select works that suit their preferences from the list of recommended candidates.
[0511] Hardware and software used
[0512] The system uses the following hardware and software:
[0513] Hardware:
[0514] Smartphone (iOS or Android)
[0515] Server (can be operated on AWS, Azure, Google Cloud, etc.)
[0516] software:
[0517] Client side: React Native, Flutter
[0518] Server side: Node.js, Python (Flask, Django)
[0519] Database: PostgreSQL, MongoDB
[0520] Generative AI models: PyTorch, TensorFlow
[0521] API: Implementing RESTful API
[0522] Specific examples
[0523] For example, suppose a user inputs "a leader type who values his friends" and "adventure fantasy." The device sends this input information to the server in real time. The server extracts keywords such as "friends," "leader," "adventure," and "fantasy" and compares them with the database. It calculates the degree of match and selects works such as "adventure anime" and "movies with a leader as the main character" as highly rated. These works are then generated as a list of recommended candidates, which the user can view.
[0524] Example prompt sentence:
[0525] I like stories that feature leader-type characters who value their allies. I'd like to see an adventure fantasy story. What stories would you recommend?
[0526] In this way, highly accurate content recommendations based on the user's specific preferences are possible.
[0527] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0528] Step 1:
[0529] The user launches the smartphone app and inputs the type of character they like and the story they want to see. Specifically, they input prompts such as "a leader type who values his friends" or "adventure fantasy" into the text box. The input data is formatted and sent to the next process.
[0530] Step 2:
[0531] The device sends the entered user data to the server in real time. At this time, the input data is converted into structured data such as JSON format and sent to the server as an API request via the HTTP protocol. Input: User-selected text data. Output: Structured API request data.
[0532] Step 3:
[0533] The server analyzes the received user data. In this step, a generative AI model (e.g., GPT-3) is used to analyze the meaning of the input data and extract important keywords. For example, from the text "A leader type who values his peers," keywords such as "peers," "leader," and "respect" are extracted. Input: Data sent in the API request. Output: Extracted keywords.
[0534] Step 4:
[0535] The server compares the extracted keywords with a database of works. The database contains pre-registered tag information and features for each piece of content, and the server calculates the degree of match using algorithms such as TF-IDF and cosine similarity. Input: Extracted keywords. Output: List of works with high match rates.
[0536] Step 5:
[0537] The server lists works with high matching scores and generates a list of recommendation candidates. The recommendation candidate list is constructed so that works that are most likely to match the user's preferences are ranked at the top. Input: List of works with high matching scores. Output: List of recommendation candidates.
[0538] Step 6:
[0539] The server sends the generated list of recommendation candidates to the device. The list of recommendation candidates is converted back into structured data such as JSON format and returned to the client app via the HTTP protocol. Input: List of recommendation candidates. Output: Structured response data.
[0540] Step 7:
[0541] The device displays the received list of recommendation candidates to the user. The user can select an item of interest from the list and view its details. Input: Structured response data. Output: List of recommendation candidates displayed to the user.
[0542] These steps allow users to efficiently find content that meets their specific preferences.
[0543] 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.
[0544] The present invention is a system that recommends the most suitable works based on the user's input of their favorite character types and stories they want to watch, and by combining it with an emotion engine, it is possible to make more accurate recommendations based on the user's emotions. Below, the program processing of this system is explained in natural language.
[0545] Getting and parsing user input
[0546] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0547] Emotion recognition by emotion engine
[0548] The device recognizes the user's emotions using an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice, typing speed, etc. to identify the user's emotional state (e.g., excitement, joy, fatigue, etc.).
[0549] Data transmission and analysis
[0550] The terminal transmits the user's input data and recognized emotion data to the server in real time.
[0551] The server analyzes the received user input data and emotional data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0552] Narrowing down recommended candidates
[0553] The server compares the analyzed keywords and emotional data with its own work database. Each work in the database is tagged with pre-defined character traits and story genres. It also prioritizes works that match the user's emotional state.
[0554] The server calculates the degree of match between keywords and tags, and selects works with high match rates by taking into account emotional data. For example, if the keywords are "easygoing," "caring," "adventure," and "fantasy," and the user is in an excited state, the server will recommend works with many action scenes.
[0555] Providing recommendation results
[0556] The server sorts the works in order of highest degree of match, generates a list of recommendation candidates that also takes into account emotional data, and sends it to the terminal.
[0557] The device displays a list of recommended works to the user, for example, in the form of a list of "Works that suit your tastes." It also provides visual or auditory feedback according to the user's emotional state.
[0558] Specific examples
[0559] For example, suppose a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story with a not-too-grown-up plot." At the same time, the emotion engine recognizes the user's facial expression and voice as being "excited."
[0560] The device transmits this input information and emotion data to the server in real time.
[0561] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0562] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0563] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0564] The device displays the list to the user, allowing them to efficiently find titles that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0565] In this way, the system takes into account both the user's specific preferences and emotional state, enabling it to recommend works with greater accuracy.
[0566] The processing flow will be explained below.
[0567] Step 1:
[0568] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0569] Step 2:
[0570] The device uses an emotion engine to recognize the user's emotions based on the user's facial expressions, voice, or typing speed while inputting. For example, it can identify the user's emotional state, such as whether they are excited or relaxed.
[0571] Step 3:
[0572] The device transmits the user's input data and recognized emotional data to the server in real time, including information about the user's preferred character traits and story genre, as well as the user's recognized emotional state.
[0573] Step 4:
[0574] The server analyzes the received user input data and emotional data. It uses a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text. It also identifies the user's current emotional state from the emotional data.
[0575] Step 5:
[0576] The server compares the analyzed keywords and emotion data with a database of works, each of which is given pre-defined tags related to character characteristics and story genre.
[0577] Step 6:
[0578] The server uses a matching algorithm to calculate the degree of match between the user's preferred keywords and the work tags in the database. It also takes into account the user's emotional state to select works with high matching scores. For example, if the user is in an excited state, it will prioritize recommending works with many action scenes.
[0579] Step 7:
[0580] The server sorts the works in descending order of similarity, generates a list of recommendation candidates taking into account the emotional data, and transmits it to the terminal. The recommendation candidate list includes works with high similarity.
[0581] Step 8:
[0582] The device displays a list of recommended works to the user, in the form of a list of "works that suit your tastes," and also provides visual or auditory feedback according to the user's emotional state.
[0583] This process allows users to efficiently find works that match their specific preferences, and the emotional engine provides visual and auditory feedback, allowing users to enjoy a more satisfying experience.
[0584] Example 2
[0585] 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."
[0586] Conventional recommendation systems only recommended works based on the user's preferred character types and the stories they wanted to watch, which resulted in inaccurate recommendations. Furthermore, because they did not take into account the user's current emotional state, it was difficult to recommend works that matched the user's current mood or state. This resulted in the problem of being unable to sufficiently improve user satisfaction.
[0587] 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.
[0588] In this invention, the server includes means for allowing a user to input their favorite character types and stories they want to watch, means for recognizing the user's emotions using an emotion engine during user input, means for analyzing the input favorite character types, stories they want to watch, and emotions, means for narrowing down recommendation candidates from a work database based on the analyzed data, and means for generating a list of recommendation candidates and providing it to the user. This enables more accurate work recommendations that take into account both the user's specific preferences and their current emotional state.
[0589] "User" refers to an individual or group that uses the system and inputs the type of character they prefer and the story they want to see.
[0590] "Character type" refers to information indicating the characteristics of the character that the user prefers, such as personality, appearance, and role.
[0591] "Story" refers to the entire story of the work recommended by the system.
[0592] An "emotion engine" refers to technology or algorithms that analyze a user's facial expressions, voice characteristics, input speed, etc. while they are typing to recognize their current emotional state.
[0593] "Input means" refers to a device or interface (e.g., keyboard, mouse, touch panel, etc.) that allows a user to input information into a system.
[0594] "Analysis means" refers to software or algorithms used to analyze data and emotional data entered by users.
[0595] "Recommended candidates" refer to candidate works that are narrowed down based on the user's input data and emotion data and are recommended to the user.
[0596] "Works Database" refers to a database that the recommendation system accesses and searches for candidate works for recommendation.
[0597] "Tags" are labels that indicate the characteristics or genre of a work or character, and refer to keywords used by the recommendation system when searching data.
[0598] "Matchability" refers to a score or rating that indicates the relevance of the user's input data and emotion data to the work tags in the database.
[0599] The "recommended candidate list" refers to a list of works that are considered to be most suitable for the user, created based on the analysis results.
[0600] The present invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch, and by combining it with an emotion engine, it makes even more accurate recommendations based on the user's emotions.
[0601] Getting and Parsing User Input
[0602] Using the input form on the device, the user inputs information such as "favorite type of character," "story to watch," and "favorite situation." For example, the user can specifically describe their preferences, such as "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0603] Emotion recognition by emotion engine
[0604] The device activates an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice characteristics, typing speed, etc. to recognize the user's current emotional state (e.g., excitement, joy, fatigue, etc.). The emotion engine recognizes the user's face through the camera and reads emotions from facial expressions. It can also use the microphone to analyze voice tone and speed to evaluate emotions.
[0605] Data transmission and analysis
[0606] The device transmits the user-entered data and the recognized emotion data to the server in real time using a secure protocol (e.g., HTTPS). The transmitted data is packaged in JSON format.
[0607] The server analyzes the received user input data and sentiment data, using text analysis algorithms and natural language processing models (e.g., BERT) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user input.
[0608] Narrowing down recommended candidates
[0609] The server searches a database of artworks based on the analyzed keywords and emotional data. Each artwork is assigned predefined tags and metadata, and the server selects artworks with the highest match. The server searches the database using SQL queries or full-text search (e.g., Elasticsearch) and applies a matching algorithm. The emotional data is added as a weight to the recommendation score, enabling recommendations tailored to the user's preferences and emotional state.
[0610] Providing recommendation results
[0611] The server sorts the works in descending order of similarity, generates a list of recommended candidates, and transmits it to the terminal.
[0612] The device displays a list of recommended candidates to the user, allowing the user to easily find works that suit their preferences. After receiving the recommendation results, the device displays the list through a user interface, and also has the ability to display detailed information with hover effects and click operations.
[0613] Specific examples
[0614] For example, a user may input conditions such as "a caring and reliable big brother character," "a fantasy with a growing story," and "a mystery with a not-too-grown-up plot." The emotion engine then recognizes the user's facial expression and voice as "excited."
[0615] The device transmits this input information and emotion data to the server in real time.
[0616] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0617] The degree of match is calculated and works such as "Work A," "Work B," and "Work C" are listed as highly rated.
[0618] The server generates a list of these works as recommendation candidates and transmits it to the terminal.
[0619] The device displays the list to the user, allowing them to efficiently find works that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0620] Prompt Sentence Examples
[0621] "I'd like to recommend a fantasy mystery story about growing up, featuring a caring and dependable big brother character. I'd like to see a work that doesn't depict events in a brutal way. I'm also excited right now."
[0622] As a result, this system can realize more appropriate and accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0623] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0624] Step 1: Getting User Input
[0625] The user uses the input form on the device to input information such as "favorite type of character," "story they want to watch," and "favorite situation." For example, they can input specific preferences such as "I like easygoing, caring characters" or "I want to watch adventure fantasy." The input data is converted into JSON format and saved on the device.
[0626] Step 2: Emotion recognition by the emotion engine
[0627] The device activates the emotion engine while the user is filling out a form. The emotion engine recognizes the user's face through the camera and collects facial expression data. It also uses a microphone to collect the user's voice and analyzes the tone and speed of the voice to determine the user's emotional state. This emotion data is compiled in JSON format and analyzed in real time.
[0628] Step 3: Send data to the server
[0629] The device combines the user-entered preference data and recognized emotion data into a JSON package and sends it to the server using the HTTPS protocol, including the character's preferences, story type, situation, and emotional state.
[0630] Step 4: Analyze user data
[0631] The server analyzes the received JSON data. First, it uses a text analysis algorithm (such as the BERT natural language processing model) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user's input data. It also analyzes the emotion data to identify states such as excitement, joy, and fatigue. The analysis results are stored in an internal data structure.
[0632] Step 5: Narrow down your recommendations
[0633] The server searches a database of works based on the analyzed keywords and emotional data. The database contains pre-defined tags and metadata for each work. The server uses SQL or a full-text search engine (e.g., Elasticsearch) to extract works that match the user's preferences. At the same time, the server takes into account the emotional data and prioritizes works that best suit the user's current emotional state.
[0634] Step 6: Calculate match and generate recommendation list
[0635] The server calculates the degree of match between keywords and tags, incorporates emotional data into the score, and selects the work that best matches. For example, for keywords such as "easygoing and caring," "adventure," and "fantasy," and for a user who is in an "excited state," a work with many action scenes will receive a high score. The list of recommended candidates is sorted by match score, organized in JSON format, and sent to the device.
[0636] Step 7: Providing Recommendations
[0637] The device displays the received list of recommendation candidates to the user. A GUI (Graphical User Interface) is used to allow the user to easily find works that match their preferences. For example, candidate works are presented in a list format as "Works that suit your tastes," and detailed information is displayed using hover effects and click operations. Feedback from the emotion engine is also used to enhance the visual and auditory effects.
[0638] By clarifying the specific actions and data flow performed at each step, the system can simultaneously consider the user's specific preferences and current emotional state, enabling more appropriate and accurate work recommendations.
[0639] (Application example 2)
[0640] 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."
[0641] Conventional content recommendation systems only make recommendations based on the user's preferred characters and story types, and do not take the user's emotional state into account, resulting in low recommendation accuracy. Furthermore, they lack visual and auditory feedback tailored to the user's emotions, which can lead to low user satisfaction. Therefore, the present invention solves these problems by providing a content recommendation system that takes the user's emotional state into account.
[0642] 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.
[0643] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means including an emotion engine that recognizes the user's emotional state, means for narrowing down recommendation candidates from a content database based on the analyzed data and emotion data, and means for generating a list of recommendation candidates and providing it to the user. This enables highly accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0644] "User" refers to any person who uses the System to receive content recommendations.
[0645] "Favorite character type" refers to the characteristics of characters that a user finds particularly attractive.
[0646] "Stories you want to see" refers to the types and content of stories that users are interested in.
[0647] "Emotional state" refers to the psychological state recognized from the user's facial expressions, voice, etc.
[0648] An "emotion engine" refers to software or hardware that recognizes a user's emotional state in real time.
[0649] "Content database" refers to data storage that stores information about each piece of content.
[0650] "Recommendations" refers to a list of content selected based on the user's preferences and emotional state.
[0651] "Analyzed data" refers to the results of processing by the data analysis means information entered by the user regarding the type of preferred character and the story they wish to watch.
[0652] "Tags" refer to pre-defined keywords or labels that indicate the characteristics of content.
[0653] "Keywords" refer to important words that users use when entering their preferred type of character or the story they want to see.
[0654] "Matchability" refers to an index that quantifies the similarity between the user's input data and analysis results and the information in the content database.
[0655] The system for realizing this invention includes a means for users to input their preferred character types and stories they want to see. The user inputs this information using a smartphone or other interface device. The input data is sent to the system where it is analyzed in real time.
[0656] The server has a way to analyze the input of the preferred character type and story you want to watch, using a Python natural language processing library (e.g., NLTK or spaCy) to extract specific keywords and tags, and then uses an emotion engine (e.g., a model built with TensorFlow or Keras) to recognize the user's emotional state to obtain emotion data.
[0657] The acquired emotion data and input data are compared with a content database stored on the server to select appropriate recommendation candidates. The content database is pre-assigned tags and keywords related to the content, and an algorithm is implemented to calculate the degree of match. In this calculation, a scoring system is used to quantify the degree of match.
[0658] The list of recommendation candidates generated by the above process is sent from the server to the user's device and provided to the user. The device displays the recommended content as a list organized taking into account the user's preferences and emotional state. It also provides visual and auditory feedback to the user according to the emotional state recognized by the emotion engine.
[0659] For example, suppose a user likes "brave heroes," "adventure fantasy," and "story with little sadness," and is in an "excited state." In this case, the server analyzes the keywords "brave heroes," "adventure fantasy," and "story with little sadness," and recognizes the "excited state" using an emotion engine. Based on this data, it narrows down the content database to highly matching content as recommendation candidates and provides them to the user.
[0660] Example prompts to input to a generative AI model:
[0661] "Imagine a user likes 'brave heroes,' 'adventure fantasy,' 'story with little sadness,' and is in an 'excited state.' Recommend a list of anime titles that would be best suited for this user."
[0662] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0663] Step 1:
[0664] The device provides a means for the user to input information about the type of character they prefer and the story they want to see. The user uses a form on their smartphone to input their preferences, such as "brave hero" or "adventure fantasy." This input data is then sent to step 2.
[0665] Step 2:
[0666] The device sends the input data received from the user to the server for analysis. After receiving the user's input data, the server performs text analysis using Python's natural language processing library (NLTK or spaCy). As a result of the analysis, identified keywords and tags are extracted and the process proceeds to the next step.
[0667] Step 3:
[0668] The emotion engine provides a means to recognize the user's emotional state. It collects the user's facial and voice data and performs real-time emotion analysis using TensorFlow and Keras. This process is performed in parallel with the user's input data. The recognized emotion data is then sent to the server.
[0669] Step 4:
[0670] The server searches the content database based on the analyzed keywords, tags, and emotional data. The works in the database are pre-assigned tags and keywords, and the server calculates the degree of match between these and the user's input data and emotional data. A scoring system is used to quantify the degree of match, narrowing down the search to the appropriate content.
[0671] Step 5:
[0672] The server generates a list of recommendation candidates from the filtered content. The list is sorted in descending order of similarity and is constructed taking into account the user's emotional data. This list is then sent to the device.
[0673] Step 6:
[0674] The device displays the list of recommendation candidates received from the server to the user. The recommendation results are visually organized based on the user's preferences and are presented to the user. Depending on the results of the emotion engine, visual or auditory feedback is also provided to improve the user experience.
[0675] Summary of input and output for each processing step
[0676] Step 1
[0677] Input: The type of character the user wants to see and the story they want to see.
[0678] Output: Input data from smartphone
[0679] Step 2
[0680] Input: Input data sent from the smartphone
[0681] Output: Analyzed keywords and tags (text analysis results)
[0682] Step 3
[0683] Input: User facial and voice data
[0684] Output: Recognized emotion data
[0685] Step 4
[0686] Input: Analyzed keywords, tags, and sentiment data
[0687] Output: Match score and filtered content
[0688] Step 5
[0689] Input: Match score and filtered content
[0690] Output: Recommendation candidate list
[0691] Step 6
[0692] Input: Recommendation candidate list
[0693] Output: Recommendations and feedback displayed to the user
[0694] 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.
[0695] 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.
[0696] 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.
[0697] [Third embodiment]
[0698] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0699] 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.
[0700] 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).
[0701] 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.
[0702] 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.
[0703] 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).
[0704] 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.
[0705] 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.
[0706] 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.
[0707] 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.
[0708] 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.
[0709] 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."
[0710] The present invention is a system that allows users to input their favorite character types and stories they want to watch, and then recommends the most suitable works based on these. Below, the program processing of this system is explained in natural language.
[0711] Getting and parsing user input
[0712] The user enters information into the input form on the device, such as "favorite type of character," "story to watch," and "favorite situation." For example, the user might enter, "I like easygoing, caring characters," and "I want to watch adventure fantasy."
[0713] The terminal transmits this input data to the server in real time.
[0714] The server analyzes the received input data and extracts preferred keywords, such as "easygoing," "caring," "adventure," and "fantasy."
[0715] Narrowing down recommended candidates
[0716] The server then compares the analyzed keywords with its database of works, each of which is tagged with information such as character traits and story genre.
[0717] The server calculates the degree of match between keywords and tags and selects works with a high degree of match, such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0718] Providing recommendation results
[0719] The server compiles the selected works into a list of recommended candidates and transmits it to the terminal.
[0720] The device will display a list of recommended candidates to the user, who can browse titles such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" as "Works that suit your tastes."
[0721] Specific examples
[0722] For example, suppose a user enters conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0723] The terminal transmits this input information to the server in real time.
[0724] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0725] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0726] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0727] The device displays the list to the user, allowing them to efficiently find titles that suit their tastes.
[0728] In this way, the system allows users to efficiently find works that suit their specific tastes.
[0729] The processing flow will be explained below.
[0730] Step 1:
[0731] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0732] Step 2:
[0733] The device sends the information entered by the user to the server in real time, including information about the user's preferred character traits and story genre.
[0734] Step 3:
[0735] The server analyzes the received user input data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0736] Step 4:
[0737] The server then compares the extracted keywords with its own database of works, each of which is tagged with pre-defined tags related to character characteristics and story genre.
[0738] Step 5:
[0739] The server runs an algorithm that calculates the degree of match between the user's preferred keywords and the work tags in the database. For example, it calculates the degree of match between keywords such as "easygoing," "caring," "adventure," and "fantasy," and selects works with high matches.
[0740] Step 6:
[0741] The server sorts the works by the highest match and generates a list of candidates to recommend to the user. The list of recommended candidates may include works such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[0742] Step 7:
[0743] The server generates a list of recommended candidates and sends it to the device where the user entered their preference information.
[0744] Step 8:
[0745] The device will then display the list of recommended candidates to the user. For example, the list will be presented in the form of a list of "Works that suit your tastes."
[0746] This system allows users to go through this process and efficiently find works that suit their specific tastes.
[0747] Example 1
[0748] 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."
[0749] Conventional recommendation systems have difficulty efficiently finding suitable works even when users input their specific preferences and requirements. Furthermore, the accuracy of recommendations is low due to the ambiguity of the analysis of input data and comparison with databases. This can lead to users not receiving satisfactory recommendation results, which can diminish the usefulness of the system.
[0750] 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.
[0751] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, means for displaying the suggested recommended candidates, means for calculating the degree of match with works in the database using keywords and tags when narrowing down the recommended candidates, and means for analyzing the preference information input by the user and extracting keywords using a natural language processing library. This makes it possible to provide highly accurate recommendation results that correspond to the user's specific preferences.
[0752] "User" refers to an individual who uses the system to input the type of character they prefer and the story they want to see.
[0753] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that receives user input and transmits it to a server.
[0754] "Server" refers to a computer system that receives input data from users, analyzes it, compares it with a database, and generates recommendations.
[0755] "Preferred character type" refers to information that indicates the characteristics, personality, and traits that a user desires in a particular character.
[0756] "Stories you want to see" refers to information that indicates the genres and themes of stories that users are interested in.
[0757] "Means of analysis" refers to the process of extracting keywords from input data using technologies such as natural language processing to understand user preferences.
[0758] The "database" refers to a collection of works tagged with information such as character traits and story genre.
[0759] "Method of narrowing down recommended candidates" refers to the process of calculating the degree of match of works in the database based on the extracted keywords and selecting the candidate that best matches the user's preferences.
[0760] "List of recommended candidates" refers to a list organized to provide users with a narrowed down list of potential works.
[0761] "Keywords" refer to important words or phrases extracted through analysis from data entered by the user.
[0762] "Tags" refer to labels attached to works in the database that indicate their characteristics or genre.
[0763] "Means for calculating match" refers to the process of comparing keywords and tags and scoring the match between them.
[0764] This invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch. The system is configured using the following hardware and software.
[0765] Hardware and software used
[0766] Hardware: Servers, user devices (PCs, smartphones, tablets, etc.)
[0767] Software: Database management systems (e.g., MySQL), natural language processing libraries (e.g., NLTK, spaCy), web frameworks (e.g., Django, Flask)
[0768] The main functions of this system are to obtain user input, analyze the data, compare it with the database, and select and display recommended candidates.
[0769] Getting User Input
[0770] The user inputs information such as "favorite type of character," "story they want to watch," and "favourite situation" into the input form on the device. For example, consider the case where the user inputs "I like easygoing, caring characters" and "I want to watch adventure fantasy." The device sends this input data to the server in real time.
[0771] Data analysis
[0772] The server analyzes the input data received from the device. It uses a natural language processing library (e.g., spaCy) to analyze the data. The server tokenizes the text and extracts important keywords. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted.
[0773] Database Matching
[0774] The server compares the extracted keywords with its database of works. Each work in the database is tagged with information such as character traits and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0775] Selection and display of recommended candidates
[0776] The server selects works with the highest degree of match as recommendation candidates and generates a list of recommendation candidates. For example, "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" may be listed. The generated list is sent to the device and displayed to the user. The user can then find works that interest them based on the list of recommendation candidates.
[0777] Specific examples
[0778] For example, consider the case where a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[0779] The terminal transmits this input information to the server in real time.
[0780] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[0781] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0782] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0783] The device displays the list to the user, allowing the user to efficiently find works that suit their preferences.
[0784] Examples of prompt statements
[0785] "Users' preferred character type is a caring older brother, and the stories they want to see are coming-of-age fantasies. Please recommend works that fit these criteria."
[0786] "Please tell me some adventure fantasy works that feature easygoing, caring characters."
[0787] "I'm looking for a mystery story that doesn't depict the events in a brutal way, and that features a reliable big brother character."
[0788] These prompts can be fed into a generative AI model to provide recommendations tailored to the user's preferences.
[0789] In this way, users can easily find works that match their specific tastes. The system is designed to provide highly accurate recommendation results, which can increase user satisfaction.
[0790] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0791] Step 1:
[0792] Users input their preferred character type and the story they want to watch into the device. The input form allows users to enter specific criteria, such as "I like easygoing, caring characters" or "I want to watch an adventure fantasy." The input data is structured in JSON format and sent to the server in real time by the device.
[0793] Specific behavior:
[0794] Input: User preference information (character type, story you want to see)
[0795] Output: Send input data (JSON format)
[0796] Step 2:
[0797] The server receives and analyzes input data from the device. A natural language processing library (e.g., spaCy) is used for the analysis. The text is tokenized and important keywords are extracted. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted. The extracted keywords are compiled into a list and passed to the next step.
[0798] Specific behavior:
[0799] Input: User input data (JSON format)
[0800] Data processing: Analyze data and extract keywords using natural language processing libraries
[0801] Output: A list of keywords
[0802] Step 3:
[0803] The server compares the extracted keywords with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[0804] Specific behavior:
[0805] Input: A list of keywords
[0806] Data calculation: Performs database queries and calculates match scores
[0807] Output: A list of works with the highest match
[0808] Step 4:
[0809] The server compiles a list of highly matching works into a recommendation candidate list using a statistical scoring algorithm, and the recommendation candidate list is structured in JSON format and sent to the device.
[0810] Specific behavior:
[0811] Input: A list of works with high matching scores
[0812] Data processing: Generating a list of recommendation candidates (statistical scoring)
[0813] Output: Recommendation candidate list (JSON format)
[0814] Step 5:
[0815] The device analyzes the list of recommended candidates received from the server and displays it to the user, allowing the user to find works that interest them based on the list of recommended candidates. The displayed information includes the title of the work, a brief description, and other related information.
[0816] Specific behavior:
[0817] Input: Recommendation candidate list (JSON format)
[0818] Data processing: List analysis and generation of display data
[0819] Output: Display a list of recommended works
[0820] By following these steps, users can efficiently find works that suit their tastes.
[0821] (Application example 1)
[0822] 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."
[0823] Current content distribution services have the problem that it is difficult for users to efficiently find works that match their preferences. Users have to spend a lot of time searching for works that suit them, which results in lower satisfaction. Furthermore, conventional recommendation systems often rely on simple keyword matching and categorization, making it difficult to respond to the detailed preferences of individual users. For this reason, there is a need for highly accurate recommendations that take into account the diverse preferences of users.
[0824] 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.
[0825] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, and means for analyzing the data using a generative AI model, thereby enabling highly accurate content recommendations based on the user's specific preferences.
[0826] A "user" is a content recipient who utilizes the system to input the type of character they prefer and the story they want to see.
[0827] "Character type" refers to the characteristics of characters with specific personalities and roles that appear in stories that users like to watch.
[0828] A "story" is the subject or genre of story a user wants to watch or read.
[0829] The "means for inputting" is an interface that allows the user to input to the system the type of character they prefer and the story they want to see.
[0830] The "analyzing means" refers to a method and device for converting the information about the character type and story entered by the user into an easily understandable format and extracting keywords.
[0831] "Means for narrowing down recommended candidates based on data" refers to the process of selecting content from the system's database that is likely to match the user's preferences based on analyzed keywords.
[0832] The "means for generating and providing a list of recommendation candidates" is a mechanism for visually presenting the narrowed down recommendation candidates to the user.
[0833] "Means of using generative AI models to analyze data" refers to a method that uses generative AI models to perform natural language processing, analyzes information entered by users, and extracts appropriate keywords and tags.
[0834] A "generative AI model" is an advanced artificial intelligence model (e.g., BERT, GPT-3) that understands and generates text data.
[0835] A "prompt" is text information input into a generative AI model, and is text in the form of instructions or questions that form the basis of the analysis and generation process.
[0836] "Content" refers to all entertainment works such as videos, anime, dramas, movies, novels, and manga.
[0837] A "database" is a collection of content information held by the system, with each piece of content tagged with characteristic information.
[0838] This invention is a system that recommends optimal content based on the user's input of their preferred character type and the story they want to see. Below, the program processing of this system will be explained in natural language.
[0839] Getting and parsing user input
[0840] Users use a device (smartphone app) to input their preferred character type and the story they want to see. For example, a user might input "a leader type who values his friends" or "adventure fantasy." This input data is sent to the server in real time.
[0841] Data preparation and analysis
[0842] The server receives the data sent by the user and analyzes it using a generative AI model. Specifically, it uses a generative AI model (e.g., GPT-3) to extract keywords from the input data. For example, from the input "leader type who values friends" and "adventure fantasy," it extracts keywords such as "friends," "leader," "adventure," and "fantasy."
[0843] Narrowing down recommended candidates
[0844] Based on the extracted keywords, the server compares them with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and selects works with a high degree of match. This process uses algorithms such as TF-IDF and cosine similarity.
[0845] Providing recommendation results
[0846] The server then lists the works selected based on the degree of similarity and generates a list of recommended candidates. This list is sent to the terminal and displayed to the user, allowing the user to easily select works that suit their preferences from the list of recommended candidates.
[0847] Hardware and software used
[0848] The system uses the following hardware and software:
[0849] Hardware:
[0850] Smartphone (iOS or Android)
[0851] Server (can be operated on AWS, Azure, Google Cloud, etc.)
[0852] software:
[0853] Client side: React Native, Flutter
[0854] Server side: Node.js, Python (Flask, Django)
[0855] Database: PostgreSQL, MongoDB
[0856] Generative AI models: PyTorch, TensorFlow
[0857] API: Implementing RESTful API
[0858] Specific examples
[0859] For example, suppose a user inputs "a leader type who values his friends" and "adventure fantasy." The device sends this input information to the server in real time. The server extracts keywords such as "friends," "leader," "adventure," and "fantasy" and compares them with the database. It calculates the degree of match and selects works such as "adventure anime" and "movies with a leader as the main character" as highly rated. These works are then generated as a list of recommended candidates, which the user can view.
[0860] Example prompt sentence:
[0861] I like stories that feature leader-type characters who value their allies. I'd like to see an adventure fantasy story. What stories would you recommend?
[0862] In this way, highly accurate content recommendations based on the user's specific preferences are possible.
[0863] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0864] Step 1:
[0865] The user launches the smartphone app and inputs the type of character they like and the story they want to see. Specifically, they input prompts such as "a leader type who values his friends" or "adventure fantasy" into the text box. The input data is formatted and sent to the next process.
[0866] Step 2:
[0867] The device sends the entered user data to the server in real time. At this time, the input data is converted into structured data such as JSON format and sent to the server as an API request via the HTTP protocol. Input: User-selected text data. Output: Structured API request data.
[0868] Step 3:
[0869] The server analyzes the received user data. In this step, a generative AI model (e.g., GPT-3) is used to analyze the meaning of the input data and extract important keywords. For example, from the text "A leader type who values his peers," keywords such as "peers," "leader," and "respect" are extracted. Input: Data sent in the API request. Output: Extracted keywords.
[0870] Step 4:
[0871] The server compares the extracted keywords with a database of works. The database contains pre-registered tag information and features for each piece of content, and the server calculates the degree of match using algorithms such as TF-IDF and cosine similarity. Input: Extracted keywords. Output: List of works with high match rates.
[0872] Step 5:
[0873] The server lists works with high matching scores and generates a list of recommendation candidates. The recommendation candidate list is constructed so that works that are most likely to match the user's preferences are ranked at the top. Input: List of works with high matching scores. Output: List of recommendation candidates.
[0874] Step 6:
[0875] The server sends the generated list of recommendation candidates to the device. The list of recommendation candidates is converted back into structured data such as JSON format and returned to the client app via the HTTP protocol. Input: List of recommendation candidates. Output: Structured response data.
[0876] Step 7:
[0877] The device displays the received list of recommendation candidates to the user. The user can select an item of interest from the list and view its details. Input: Structured response data. Output: List of recommendation candidates displayed to the user.
[0878] These steps allow users to efficiently find content that meets their specific preferences.
[0879] 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.
[0880] The present invention is a system that recommends the most suitable works based on the user's input of their favorite character types and stories they want to watch, and by combining it with an emotion engine, it is possible to make more accurate recommendations based on the user's emotions. Below, the program processing of this system is explained in natural language.
[0881] Getting and parsing user input
[0882] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0883] Emotion recognition by emotion engine
[0884] The device recognizes the user's emotions using an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice, typing speed, etc. to identify the user's emotional state (e.g., excitement, joy, fatigue, etc.).
[0885] Data transmission and analysis
[0886] The terminal transmits the user's input data and recognized emotion data to the server in real time.
[0887] The server analyzes the received user input data and emotional data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[0888] Narrowing down recommended candidates
[0889] The server compares the analyzed keywords and emotional data with its own work database. Each work in the database is tagged with pre-defined character traits and story genres. It also prioritizes works that match the user's emotional state.
[0890] The server calculates the degree of match between keywords and tags, and selects works with high match rates by taking into account emotional data. For example, if the keywords are "easygoing," "caring," "adventure," and "fantasy," and the user is in an excited state, the server will recommend works with many action scenes.
[0891] Providing recommendation results
[0892] The server sorts the works in order of highest degree of match, generates a list of recommendation candidates that also takes into account emotional data, and sends it to the terminal.
[0893] The device displays a list of recommended works to the user, for example, in the form of a list of "Works that suit your tastes." It also provides visual or auditory feedback according to the user's emotional state.
[0894] Specific examples
[0895] For example, suppose a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story with a not-too-grown-up plot." At the same time, the emotion engine recognizes the user's facial expression and voice as being "excited."
[0896] The device transmits this input information and emotion data to the server in real time.
[0897] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0898] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[0899] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[0900] The device displays the list to the user, allowing them to efficiently find titles that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0901] In this way, the system takes into account both the user's specific preferences and emotional state, enabling it to recommend works with greater accuracy.
[0902] The processing flow will be explained below.
[0903] Step 1:
[0904] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0905] Step 2:
[0906] The device uses an emotion engine to recognize the user's emotions based on the user's facial expressions, voice, or typing speed while inputting. For example, it can identify the user's emotional state, such as whether they are excited or relaxed.
[0907] Step 3:
[0908] The device transmits the user's input data and recognized emotional data to the server in real time, including information about the user's preferred character traits and story genre, as well as the user's recognized emotional state.
[0909] Step 4:
[0910] The server analyzes the received user input data and emotional data. It uses a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text. It also identifies the user's current emotional state from the emotional data.
[0911] Step 5:
[0912] The server compares the analyzed keywords and emotion data with a database of works, each of which is given pre-defined tags related to character characteristics and story genre.
[0913] Step 6:
[0914] The server uses a matching algorithm to calculate the degree of match between the user's preferred keywords and the work tags in the database. It also takes into account the user's emotional state to select works with high matching scores. For example, if the user is in an excited state, it will prioritize recommending works with many action scenes.
[0915] Step 7:
[0916] The server sorts the works in descending order of similarity, generates a list of recommendation candidates taking into account the emotional data, and transmits it to the terminal. The recommendation candidate list includes works with high similarity.
[0917] Step 8:
[0918] The device displays a list of recommended works to the user, in the form of a list of "works that suit your tastes," and also provides visual or auditory feedback according to the user's emotional state.
[0919] This process allows users to efficiently find works that match their specific preferences, and the emotional engine provides visual and auditory feedback, allowing users to enjoy a more satisfying experience.
[0920] Example 2
[0921] 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."
[0922] Conventional recommendation systems only recommended works based on the user's preferred character types and the stories they wanted to watch, which resulted in inaccurate recommendations. Furthermore, because they did not take into account the user's current emotional state, it was difficult to recommend works that matched the user's current mood or state. This resulted in the problem of being unable to sufficiently improve user satisfaction.
[0923] 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.
[0924] In this invention, the server includes means for allowing a user to input their favorite character types and stories they want to watch, means for recognizing the user's emotions using an emotion engine during user input, means for analyzing the input favorite character types, stories they want to watch, and emotions, means for narrowing down recommendation candidates from a work database based on the analyzed data, and means for generating a list of recommendation candidates and providing it to the user. This enables more accurate work recommendations that take into account both the user's specific preferences and their current emotional state.
[0925] "User" refers to an individual or group that uses the system and inputs the type of character they prefer and the story they want to see.
[0926] "Character type" refers to information indicating the characteristics of the character that the user prefers, such as personality, appearance, and role.
[0927] "Story" refers to the entire story of the work recommended by the system.
[0928] An "emotion engine" refers to technology or algorithms that analyze a user's facial expressions, voice characteristics, input speed, etc. while they are typing to recognize their current emotional state.
[0929] "Input means" refers to a device or interface (e.g., keyboard, mouse, touch panel, etc.) that allows a user to input information into a system.
[0930] "Analysis means" refers to software or algorithms used to analyze data and emotional data entered by users.
[0931] "Recommended candidates" refer to candidate works that are narrowed down based on the user's input data and emotion data and are recommended to the user.
[0932] "Works Database" refers to a database that the recommendation system accesses and searches for candidate works for recommendation.
[0933] "Tags" are labels that indicate the characteristics or genre of a work or character, and refer to keywords used by the recommendation system when searching data.
[0934] "Matchability" refers to a score or rating that indicates the relevance of the user's input data and emotion data to the work tags in the database.
[0935] The "recommended candidate list" refers to a list of works that are considered to be most suitable for the user, created based on the analysis results.
[0936] The present invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch, and by combining it with an emotion engine, it makes even more accurate recommendations based on the user's emotions.
[0937] Getting and Parsing User Input
[0938] Using the input form on the device, the user inputs information such as "favorite type of character," "story to watch," and "favorite situation." For example, the user can specifically describe their preferences, such as "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[0939] Emotion recognition by emotion engine
[0940] The device activates an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice characteristics, typing speed, etc. to recognize the user's current emotional state (e.g., excitement, joy, fatigue, etc.). The emotion engine recognizes the user's face through the camera and reads emotions from facial expressions. It can also use the microphone to analyze voice tone and speed to evaluate emotions.
[0941] Data transmission and analysis
[0942] The device transmits the user-entered data and the recognized emotion data to the server in real time using a secure protocol (e.g., HTTPS). The transmitted data is packaged in JSON format.
[0943] The server analyzes the received user input data and sentiment data, using text analysis algorithms and natural language processing models (e.g., BERT) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user input.
[0944] Narrowing down recommended candidates
[0945] The server searches a database of artworks based on the analyzed keywords and emotional data. Each artwork is assigned predefined tags and metadata, and the server selects artworks with the highest match. The server searches the database using SQL queries or full-text search (e.g., Elasticsearch) and applies a matching algorithm. The emotional data is added as a weight to the recommendation score, enabling recommendations tailored to the user's preferences and emotional state.
[0946] Providing recommendation results
[0947] The server sorts the works in descending order of similarity, generates a list of recommended candidates, and transmits it to the terminal.
[0948] The device displays a list of recommended candidates to the user, allowing the user to easily find works that suit their preferences. After receiving the recommendation results, the device displays the list through a user interface, and also has the ability to display detailed information with hover effects and click operations.
[0949] Specific examples
[0950] For example, a user may input conditions such as "a caring and reliable big brother character," "a fantasy with a growing story," and "a mystery with a not-too-grown-up plot." The emotion engine then recognizes the user's facial expression and voice as "excited."
[0951] The device transmits this input information and emotion data to the server in real time.
[0952] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[0953] The degree of match is calculated and works such as "Work A," "Work B," and "Work C" are listed as highly rated.
[0954] The server generates a list of these works as recommendation candidates and transmits it to the terminal.
[0955] The device displays the list to the user, allowing them to efficiently find works that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[0956] Prompt Sentence Examples
[0957] "I'd like to recommend a fantasy mystery story about growing up, featuring a caring and dependable big brother character. I'd like to see a work that doesn't depict events in a brutal way. I'm also excited right now."
[0958] As a result, this system can realize more appropriate and accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0959] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0960] Step 1: Getting User Input
[0961] The user uses the input form on the device to input information such as "favorite type of character," "story they want to watch," and "favorite situation." For example, they can input specific preferences such as "I like easygoing, caring characters" or "I want to watch adventure fantasy." The input data is converted into JSON format and saved on the device.
[0962] Step 2: Emotion recognition by the emotion engine
[0963] The device activates the emotion engine while the user is filling out a form. The emotion engine recognizes the user's face through the camera and collects facial expression data. It also uses a microphone to collect the user's voice and analyzes the tone and speed of the voice to determine the user's emotional state. This emotion data is compiled in JSON format and analyzed in real time.
[0964] Step 3: Send data to the server
[0965] The device combines the user-entered preference data and recognized emotion data into a JSON package and sends it to the server using the HTTPS protocol, including the character's preferences, story type, situation, and emotional state.
[0966] Step 4: Analyze user data
[0967] The server analyzes the received JSON data. First, it uses a text analysis algorithm (such as the BERT natural language processing model) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user's input data. It also analyzes the emotion data to identify states such as excitement, joy, and fatigue. The analysis results are stored in an internal data structure.
[0968] Step 5: Narrow down your recommendations
[0969] The server searches a database of works based on the analyzed keywords and emotional data. The database contains pre-defined tags and metadata for each work. The server uses SQL or a full-text search engine (e.g., Elasticsearch) to extract works that match the user's preferences. At the same time, the server takes into account the emotional data and prioritizes works that best suit the user's current emotional state.
[0970] Step 6: Calculate match and generate recommendation list
[0971] The server calculates the degree of match between keywords and tags, incorporates emotional data into the score, and selects the work that best matches. For example, for keywords such as "easygoing and caring," "adventure," and "fantasy," and for a user who is in an "excited state," a work with many action scenes will receive a high score. The list of recommended candidates is sorted by match score, organized in JSON format, and sent to the device.
[0972] Step 7: Providing Recommendations
[0973] The device displays the received list of recommendation candidates to the user. A GUI (Graphical User Interface) is used to allow the user to easily find works that match their preferences. For example, candidate works are presented in a list format as "Works that suit your tastes," and detailed information is displayed using hover effects and click operations. Feedback from the emotion engine is also used to enhance the visual and auditory effects.
[0974] By clarifying the specific actions and data flow performed at each step, the system can simultaneously consider the user's specific preferences and current emotional state, enabling more appropriate and accurate work recommendations.
[0975] (Application example 2)
[0976] 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."
[0977] Conventional content recommendation systems only make recommendations based on the user's preferred characters and story types, and do not take the user's emotional state into account, resulting in low recommendation accuracy. Furthermore, they lack visual and auditory feedback tailored to the user's emotions, which can lead to low user satisfaction. Therefore, the present invention solves these problems by providing a content recommendation system that takes the user's emotional state into account.
[0978] 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.
[0979] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means including an emotion engine that recognizes the user's emotional state, means for narrowing down recommendation candidates from a content database based on the analyzed data and emotion data, and means for generating a list of recommendation candidates and providing it to the user. This enables highly accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[0980] "User" refers to any person who uses the System to receive content recommendations.
[0981] "Favorite character type" refers to the characteristics of characters that a user finds particularly attractive.
[0982] "Stories you want to see" refers to the types and content of stories that users are interested in.
[0983] "Emotional state" refers to the psychological state recognized from the user's facial expressions, voice, etc.
[0984] An "emotion engine" refers to software or hardware that recognizes a user's emotional state in real time.
[0985] "Content database" refers to data storage that stores information about each piece of content.
[0986] "Recommendations" refers to a list of content selected based on the user's preferences and emotional state.
[0987] "Analyzed data" refers to the results of processing by the data analysis means information entered by the user regarding the type of preferred character and the story they wish to watch.
[0988] "Tags" refer to pre-defined keywords or labels that indicate the characteristics of content.
[0989] "Keywords" refer to important words that users use when entering their preferred type of character or the story they want to see.
[0990] "Matchability" refers to an index that quantifies the similarity between the user's input data and analysis results and the information in the content database.
[0991] The system for realizing this invention includes a means for users to input their preferred character types and stories they want to see. The user inputs this information using a smartphone or other interface device. The input data is sent to the system where it is analyzed in real time.
[0992] The server has a way to analyze the input of the preferred character type and story you want to watch, using a Python natural language processing library (e.g., NLTK or spaCy) to extract specific keywords and tags, and then uses an emotion engine (e.g., a model built with TensorFlow or Keras) to recognize the user's emotional state to obtain emotion data.
[0993] The acquired emotion data and input data are compared with a content database stored on the server to select appropriate recommendation candidates. The content database is pre-assigned tags and keywords related to the content, and an algorithm is implemented to calculate the degree of match. In this calculation, a scoring system is used to quantify the degree of match.
[0994] The list of recommendation candidates generated by the above process is sent from the server to the user's device and provided to the user. The device displays the recommended content as a list organized taking into account the user's preferences and emotional state. It also provides visual and auditory feedback to the user according to the emotional state recognized by the emotion engine.
[0995] For example, suppose a user likes "brave heroes," "adventure fantasy," and "story with little sadness," and is in an "excited state." In this case, the server analyzes the keywords "brave heroes," "adventure fantasy," and "story with little sadness," and recognizes the "excited state" using an emotion engine. Based on this data, it narrows down the content database to highly matching content as recommendation candidates and provides them to the user.
[0996] Example prompts to input to a generative AI model:
[0997] "Imagine a user likes 'brave heroes,' 'adventure fantasy,' 'story with little sadness,' and is in an 'excited state.' Recommend a list of anime titles that would be best suited for this user."
[0998] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0999] Step 1:
[1000] The device provides a means for the user to input information about the type of character they prefer and the story they want to see. The user uses a form on their smartphone to input their preferences, such as "brave hero" or "adventure fantasy." This input data is then sent to step 2.
[1001] Step 2:
[1002] The device sends the input data received from the user to the server for analysis. After receiving the user's input data, the server performs text analysis using Python's natural language processing library (NLTK or spaCy). As a result of the analysis, identified keywords and tags are extracted and the process proceeds to the next step.
[1003] Step 3:
[1004] The emotion engine provides a means to recognize the user's emotional state. It collects the user's facial and voice data and performs real-time emotion analysis using TensorFlow and Keras. This process is performed in parallel with the user's input data. The recognized emotion data is then sent to the server.
[1005] Step 4:
[1006] The server searches the content database based on the analyzed keywords, tags, and emotional data. The works in the database are pre-assigned tags and keywords, and the server calculates the degree of match between these and the user's input data and emotional data. A scoring system is used to quantify the degree of match, narrowing down the search to the appropriate content.
[1007] Step 5:
[1008] The server generates a list of recommendation candidates from the filtered content. The list is sorted in descending order of similarity and is constructed taking into account the user's emotional data. This list is then sent to the device.
[1009] Step 6:
[1010] The device displays the list of recommendation candidates received from the server to the user. The recommendation results are visually organized based on the user's preferences and are presented to the user. Depending on the results of the emotion engine, visual or auditory feedback is also provided to improve the user experience.
[1011] Summary of input and output for each processing step
[1012] Step 1
[1013] Input: The type of character the user wants to see and the story they want to see.
[1014] Output: Input data from smartphone
[1015] Step 2
[1016] Input: Input data sent from the smartphone
[1017] Output: Analyzed keywords and tags (text analysis results)
[1018] Step 3
[1019] Input: User facial and voice data
[1020] Output: Recognized emotion data
[1021] Step 4
[1022] Input: Analyzed keywords, tags, and sentiment data
[1023] Output: Match score and filtered content
[1024] Step 5
[1025] Input: Match score and filtered content
[1026] Output: Recommendation candidate list
[1027] Step 6
[1028] Input: Recommendation candidate list
[1029] Output: Recommendations and feedback displayed to the user
[1030] 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.
[1031] 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.
[1032] 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.
[1033] [Fourth embodiment]
[1034] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1035] 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.
[1036] 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).
[1037] 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.
[1038] 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.
[1039] 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).
[1040] 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.
[1041] 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.
[1042] 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.
[1043] 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.
[1044] 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.
[1045] 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.
[1046] 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."
[1047] The present invention is a system that allows users to input their favorite character types and stories they want to watch, and then recommends the most suitable works based on these. Below, the program processing of this system is explained in natural language.
[1048] Getting and parsing user input
[1049] The user enters information into the input form on the device, such as "favorite type of character," "story to watch," and "favorite situation." For example, the user might enter, "I like easygoing, caring characters," and "I want to watch adventure fantasy."
[1050] The terminal transmits this input data to the server in real time.
[1051] The server analyzes the received input data and extracts preferred keywords, such as "easygoing," "caring," "adventure," and "fantasy."
[1052] Narrowing down recommended candidates
[1053] The server then compares the analyzed keywords with its database of works, each of which is tagged with information such as character traits and story genre.
[1054] The server calculates the degree of match between keywords and tags and selects works with a high degree of match, such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[1055] Providing recommendation results
[1056] The server compiles the selected works into a list of recommended candidates and transmits it to the terminal.
[1057] The device will display a list of recommended candidates to the user, who can browse titles such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" as "Works that suit your tastes."
[1058] Specific examples
[1059] For example, suppose a user enters conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[1060] The terminal transmits this input information to the server in real time.
[1061] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[1062] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[1063] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[1064] The device displays the list to the user, allowing them to efficiently find titles that suit their tastes.
[1065] In this way, the system allows users to efficiently find works that suit their specific tastes.
[1066] The processing flow will be explained below.
[1067] Step 1:
[1068] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[1069] Step 2:
[1070] The device sends the information entered by the user to the server in real time, including information about the user's preferred character traits and story genre.
[1071] Step 3:
[1072] The server analyzes the received user input data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[1073] Step 4:
[1074] The server then compares the extracted keywords with its own database of works, each of which is tagged with pre-defined tags related to character characteristics and story genre.
[1075] Step 5:
[1076] The server runs an algorithm that calculates the degree of match between the user's preferred keywords and the work tags in the database. For example, it calculates the degree of match between keywords such as "easygoing," "caring," "adventure," and "fantasy," and selects works with high matches.
[1077] Step 6:
[1078] The server sorts the works by the highest match and generates a list of candidates to recommend to the user. The list of recommended candidates may include works such as "Fullmetal Alchemist," "One Piece," and "Lord of the Rings."
[1079] Step 7:
[1080] The server generates a list of recommended candidates and sends it to the device where the user entered their preference information.
[1081] Step 8:
[1082] The device will then display the list of recommended candidates to the user. For example, the list will be presented in the form of a list of "Works that suit your tastes."
[1083] This system allows users to go through this process and efficiently find works that suit their specific tastes.
[1084] Example 1
[1085] 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."
[1086] Conventional recommendation systems have difficulty efficiently finding suitable works even when users input their specific preferences and requirements. Furthermore, the accuracy of recommendations is low due to the ambiguity of the analysis of input data and comparison with databases. This can lead to users not receiving satisfactory recommendation results, which can diminish the usefulness of the system.
[1087] 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.
[1088] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, means for displaying the suggested recommended candidates, means for calculating the degree of match with works in the database using keywords and tags when narrowing down the recommended candidates, and means for analyzing the preference information input by the user and extracting keywords using a natural language processing library. This makes it possible to provide highly accurate recommendation results that correspond to the user's specific preferences.
[1089] "User" refers to an individual who uses the system to input the type of character they prefer and the story they want to see.
[1090] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet, that receives user input and transmits it to a server.
[1091] "Server" refers to a computer system that receives input data from users, analyzes it, compares it with a database, and generates recommendations.
[1092] "Preferred character type" refers to information that indicates the characteristics, personality, and traits that a user desires in a particular character.
[1093] "Stories you want to see" refers to information that indicates the genres and themes of stories that users are interested in.
[1094] "Means of analysis" refers to the process of extracting keywords from input data using technologies such as natural language processing to understand user preferences.
[1095] The "database" refers to a collection of works tagged with information such as character traits and story genre.
[1096] "Method of narrowing down recommended candidates" refers to the process of calculating the degree of match of works in the database based on the extracted keywords and selecting the candidate that best matches the user's preferences.
[1097] "List of recommended candidates" refers to a list organized to provide users with a narrowed down list of potential works.
[1098] "Keywords" refer to important words or phrases extracted through analysis from data entered by the user.
[1099] "Tags" refer to labels attached to works in the database that indicate their characteristics or genre.
[1100] "Means for calculating match" refers to the process of comparing keywords and tags and scoring the match between them.
[1101] This invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch. The system is configured using the following hardware and software.
[1102] Hardware and software used
[1103] Hardware: Servers, user devices (PCs, smartphones, tablets, etc.)
[1104] Software: Database management systems (e.g., MySQL), natural language processing libraries (e.g., NLTK, spaCy), web frameworks (e.g., Django, Flask)
[1105] The main functions of this system are to obtain user input, analyze the data, compare it with the database, and select and display recommended candidates.
[1106] Getting User Input
[1107] The user inputs information such as "favorite type of character," "story they want to watch," and "favourite situation" into the input form on the device. For example, consider the case where the user inputs "I like easygoing, caring characters" and "I want to watch adventure fantasy." The device sends this input data to the server in real time.
[1108] Data analysis
[1109] The server analyzes the input data received from the device. It uses a natural language processing library (e.g., spaCy) to analyze the data. The server tokenizes the text and extracts important keywords. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted.
[1110] Database Matching
[1111] The server compares the extracted keywords with its database of works. Each work in the database is tagged with information such as character traits and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[1112] Selection and display of recommended candidates
[1113] The server selects works with the highest degree of match as recommendation candidates and generates a list of recommendation candidates. For example, "Fullmetal Alchemist," "One Piece," and "Lord of the Rings" may be listed. The generated list is sent to the device and displayed to the user. The user can then find works that interest them based on the list of recommendation candidates.
[1114] Specific examples
[1115] For example, consider the case where a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story in which the events are not depicted in a brutal way."
[1116] The terminal transmits this input information to the server in real time.
[1117] The server extracts keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," and compares them with the database.
[1118] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[1119] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[1120] The device displays the list to the user, allowing the user to efficiently find works that suit their preferences.
[1121] Examples of prompt statements
[1122] "Users' preferred character type is a caring older brother, and the stories they want to see are coming-of-age fantasies. Please recommend works that fit these criteria."
[1123] "Please tell me some adventure fantasy works that feature easygoing, caring characters."
[1124] "I'm looking for a mystery story that doesn't depict the events in a brutal way, and that features a reliable big brother character."
[1125] These prompts can be fed into a generative AI model to provide recommendations tailored to the user's preferences.
[1126] In this way, users can easily find works that match their specific tastes. The system is designed to provide highly accurate recommendation results, which can increase user satisfaction.
[1127] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1128] Step 1:
[1129] Users input their preferred character type and the story they want to watch into the device. The input form allows users to enter specific criteria, such as "I like easygoing, caring characters" or "I want to watch an adventure fantasy." The input data is structured in JSON format and sent to the server in real time by the device.
[1130] Specific behavior:
[1131] Input: User preference information (character type, story you want to see)
[1132] Output: Send input data (JSON format)
[1133] Step 2:
[1134] The server receives and analyzes input data from the device. A natural language processing library (e.g., spaCy) is used for the analysis. The text is tokenized and important keywords are extracted. For example, keywords such as "easygoing," "caring," "adventure," and "fantasy" are extracted. The extracted keywords are compiled into a list and passed to the next step.
[1135] Specific behavior:
[1136] Input: User input data (JSON format)
[1137] Data processing: Analyze data and extract keywords using natural language processing libraries
[1138] Output: A list of keywords
[1139] Step 3:
[1140] The server compares the extracted keywords with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and identifies works with a high degree of match.
[1141] Specific behavior:
[1142] Input: A list of keywords
[1143] Data calculation: Performs database queries and calculates match scores
[1144] Output: A list of works with the highest match
[1145] Step 4:
[1146] The server compiles a list of highly matching works into a recommendation candidate list using a statistical scoring algorithm, and the recommendation candidate list is structured in JSON format and sent to the device.
[1147] Specific behavior:
[1148] Input: A list of works with high matching scores
[1149] Data processing: Generating a list of recommendation candidates (statistical scoring)
[1150] Output: Recommendation candidate list (JSON format)
[1151] Step 5:
[1152] The device analyzes the list of recommended candidates received from the server and displays it to the user, allowing the user to find works that interest them based on the list of recommended candidates. The displayed information includes the title of the work, a brief description, and other related information.
[1153] Specific behavior:
[1154] Input: Recommendation candidate list (JSON format)
[1155] Data processing: List analysis and generation of display data
[1156] Output: Display a list of recommended works
[1157] By following these steps, users can efficiently find works that suit their tastes.
[1158] (Application example 1)
[1159] 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."
[1160] Current content distribution services have the problem that it is difficult for users to efficiently find works that match their preferences. Users have to spend a lot of time searching for works that suit them, which results in lower satisfaction. Furthermore, conventional recommendation systems often rely on simple keyword matching and categorization, making it difficult to respond to the detailed preferences of individual users. For this reason, there is a need for highly accurate recommendations that take into account the diverse preferences of users.
[1161] 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.
[1162] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means for narrowing down recommended candidates from a work database based on the analyzed data, means for generating a list of recommended candidates and providing it to the user, and means for analyzing the data using a generative AI model, thereby enabling highly accurate content recommendations based on the user's specific preferences.
[1163] A "user" is a content recipient who utilizes the system to input the type of character they prefer and the story they want to see.
[1164] "Character type" refers to the characteristics of characters with specific personalities and roles that appear in stories that users like to watch.
[1165] A "story" is the subject or genre of story a user wants to watch or read.
[1166] The "means for inputting" is an interface that allows the user to input to the system the type of character they prefer and the story they want to see.
[1167] The "analyzing means" refers to a method and device for converting the information about the character type and story entered by the user into an easily understandable format and extracting keywords.
[1168] "Means for narrowing down recommended candidates based on data" refers to the process of selecting content from the system's database that is likely to match the user's preferences based on analyzed keywords.
[1169] The "means for generating and providing a list of recommendation candidates" is a mechanism for visually presenting the narrowed down recommendation candidates to the user.
[1170] "Means of using generative AI models to analyze data" refers to a method that uses generative AI models to perform natural language processing, analyzes information entered by users, and extracts appropriate keywords and tags.
[1171] A "generative AI model" is an advanced artificial intelligence model (e.g., BERT, GPT-3) that understands and generates text data.
[1172] A "prompt" is text information input into a generative AI model, and is text in the form of instructions or questions that form the basis of the analysis and generation process.
[1173] "Content" refers to all entertainment works such as videos, anime, dramas, movies, novels, and manga.
[1174] A "database" is a collection of content information held by the system, with each piece of content tagged with characteristic information.
[1175] This invention is a system that recommends optimal content based on the user's input of their preferred character type and the story they want to see. Below, the program processing of this system will be explained in natural language.
[1176] Getting and parsing user input
[1177] Users use a device (smartphone app) to input their preferred character type and the story they want to see. For example, a user might input "a leader type who values his friends" or "adventure fantasy." This input data is sent to the server in real time.
[1178] Data preparation and analysis
[1179] The server receives the data sent by the user and analyzes it using a generative AI model. Specifically, it uses a generative AI model (e.g., GPT-3) to extract keywords from the input data. For example, from the input "leader type who values friends" and "adventure fantasy," it extracts keywords such as "friends," "leader," "adventure," and "fantasy."
[1180] Narrowing down recommended candidates
[1181] Based on the extracted keywords, the server compares them with a database of works. Each work in the database is tagged with information such as character characteristics and story genre. The server calculates the degree of match between the keywords and tags and selects works with a high degree of match. This process uses algorithms such as TF-IDF and cosine similarity.
[1182] Providing recommendation results
[1183] The server then lists the works selected based on the degree of similarity and generates a list of recommended candidates. This list is sent to the terminal and displayed to the user, allowing the user to easily select works that suit their preferences from the list of recommended candidates.
[1184] Hardware and software used
[1185] The system uses the following hardware and software:
[1186] Hardware:
[1187] Smartphone (iOS or Android)
[1188] Server (can be operated on AWS, Azure, Google Cloud, etc.)
[1189] software:
[1190] Client side: React Native, Flutter
[1191] Server side: Node.js, Python (Flask, Django)
[1192] Database: PostgreSQL, MongoDB
[1193] Generative AI models: PyTorch, TensorFlow
[1194] API: Implementing RESTful API
[1195] Specific examples
[1196] For example, suppose a user inputs "a leader type who values his friends" and "adventure fantasy." The device sends this input information to the server in real time. The server extracts keywords such as "friends," "leader," "adventure," and "fantasy" and compares them with the database. It calculates the degree of match and selects works such as "adventure anime" and "movies with a leader as the main character" as highly rated. These works are then generated as a list of recommended candidates, which the user can view.
[1197] Example prompt sentence:
[1198] I like stories that feature leader-type characters who value their allies. I'd like to see an adventure fantasy story. What stories would you recommend?
[1199] In this way, highly accurate content recommendations based on the user's specific preferences are possible.
[1200] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1201] Step 1:
[1202] The user launches the smartphone app and inputs the type of character they like and the story they want to see. Specifically, they input prompts such as "a leader type who values his friends" or "adventure fantasy" into the text box. The input data is formatted and sent to the next process.
[1203] Step 2:
[1204] The device sends the entered user data to the server in real time. At this time, the input data is converted into structured data such as JSON format and sent to the server as an API request via the HTTP protocol. Input: User-selected text data. Output: Structured API request data.
[1205] Step 3:
[1206] The server analyzes the received user data. In this step, a generative AI model (e.g., GPT-3) is used to analyze the meaning of the input data and extract important keywords. For example, from the text "A leader type who values his peers," keywords such as "peers," "leader," and "respect" are extracted. Input: Data sent in the API request. Output: Extracted keywords.
[1207] Step 4:
[1208] The server compares the extracted keywords with a database of works. The database contains pre-registered tag information and features for each piece of content, and the server calculates the degree of match using algorithms such as TF-IDF and cosine similarity. Input: Extracted keywords. Output: List of works with high match rates.
[1209] Step 5:
[1210] The server lists works with high matching scores and generates a list of recommendation candidates. The recommendation candidate list is constructed so that works that are most likely to match the user's preferences are ranked at the top. Input: List of works with high matching scores. Output: List of recommendation candidates.
[1211] Step 6:
[1212] The server sends the generated list of recommendation candidates to the device. The list of recommendation candidates is converted back into structured data such as JSON format and returned to the client app via the HTTP protocol. Input: List of recommendation candidates. Output: Structured response data.
[1213] Step 7:
[1214] The device displays the received list of recommendation candidates to the user. The user can select an item of interest from the list and view its details. Input: Structured response data. Output: List of recommendation candidates displayed to the user.
[1215] These steps allow users to efficiently find content that meets their specific preferences.
[1216] 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.
[1217] The present invention is a system that recommends the most suitable works based on the user's input of their favorite character types and stories they want to watch, and by combining it with an emotion engine, it is possible to make more accurate recommendations based on the user's emotions. Below, the program processing of this system is explained in natural language.
[1218] Getting and parsing user input
[1219] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[1220] Emotion recognition by emotion engine
[1221] The device recognizes the user's emotions using an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice, typing speed, etc. to identify the user's emotional state (e.g., excitement, joy, fatigue, etc.).
[1222] Data transmission and analysis
[1223] The terminal transmits the user's input data and recognized emotion data to the server in real time.
[1224] The server analyzes the received user input data and emotional data, using a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text.
[1225] Narrowing down recommended candidates
[1226] The server compares the analyzed keywords and emotional data with its own work database. Each work in the database is tagged with pre-defined character traits and story genres. It also prioritizes works that match the user's emotional state.
[1227] The server calculates the degree of match between keywords and tags, and selects works with high match rates by taking into account emotional data. For example, if the keywords are "easygoing," "caring," "adventure," and "fantasy," and the user is in an excited state, the server will recommend works with many action scenes.
[1228] Providing recommendation results
[1229] The server sorts the works in order of highest degree of match, generates a list of recommendation candidates that also takes into account emotional data, and sends it to the terminal.
[1230] The device displays a list of recommended works to the user, for example, in the form of a list of "Works that suit your tastes." It also provides visual or auditory feedback according to the user's emotional state.
[1231] Specific examples
[1232] For example, suppose a user inputs conditions such as "a caring and reliable big brother character," "a fantasy about growing up," and "a mystery story with a not-too-grown-up plot." At the same time, the emotion engine recognizes the user's facial expression and voice as being "excited."
[1233] The device transmits this input information and emotion data to the server in real time.
[1234] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[1235] The degree of match is calculated, and works such as "Gintama," "Detective Conan," and "Attack on Titan" are listed as highly rated.
[1236] The server generates a list of these works as recommendation candidates and sends it to the terminal.
[1237] The device displays the list to the user, allowing them to efficiently find titles that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[1238] In this way, the system takes into account both the user's specific preferences and emotional state, enabling it to recommend works with greater accuracy.
[1239] The processing flow will be explained below.
[1240] Step 1:
[1241] The user uses the input form on the device to input personal preference information such as "favorite type of character," "story to watch," "favorite situation," etc. For example, the user might input "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[1242] Step 2:
[1243] The device uses an emotion engine to recognize the user's emotions based on the user's facial expressions, voice, or typing speed while inputting. For example, it can identify the user's emotional state, such as whether they are excited or relaxed.
[1244] Step 3:
[1245] The device transmits the user's input data and recognized emotional data to the server in real time, including information about the user's preferred character traits and story genre, as well as the user's recognized emotional state.
[1246] Step 4:
[1247] The server analyzes the received user input data and emotional data. It uses a text analysis algorithm to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the input text. It also identifies the user's current emotional state from the emotional data.
[1248] Step 5:
[1249] The server compares the analyzed keywords and emotion data with a database of works, each of which is given pre-defined tags related to character characteristics and story genre.
[1250] Step 6:
[1251] The server uses a matching algorithm to calculate the degree of match between the user's preferred keywords and the work tags in the database. It also takes into account the user's emotional state to select works with high matching scores. For example, if the user is in an excited state, it will prioritize recommending works with many action scenes.
[1252] Step 7:
[1253] The server sorts the works in descending order of similarity, generates a list of recommendation candidates taking into account the emotional data, and transmits it to the terminal. The recommendation candidate list includes works with high similarity.
[1254] Step 8:
[1255] The device displays a list of recommended works to the user, in the form of a list of "works that suit your tastes," and also provides visual or auditory feedback according to the user's emotional state.
[1256] This process allows users to efficiently find works that match their specific preferences, and the emotional engine provides visual and auditory feedback, allowing users to enjoy a more satisfying experience.
[1257] Example 2
[1258] 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."
[1259] Conventional recommendation systems only recommended works based on the user's preferred character types and the stories they wanted to watch, which resulted in inaccurate recommendations. Furthermore, because they did not take into account the user's current emotional state, it was difficult to recommend works that matched the user's current mood or state. This resulted in the problem of being unable to sufficiently improve user satisfaction.
[1260] 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.
[1261] In this invention, the server includes means for allowing a user to input their favorite character types and stories they want to watch, means for recognizing the user's emotions using an emotion engine during user input, means for analyzing the input favorite character types, stories they want to watch, and emotions, means for narrowing down recommendation candidates from a work database based on the analyzed data, and means for generating a list of recommendation candidates and providing it to the user. This enables more accurate work recommendations that take into account both the user's specific preferences and their current emotional state.
[1262] "User" refers to an individual or group that uses the system and inputs the type of character they prefer and the story they want to see.
[1263] "Character type" refers to information indicating the characteristics of the character that the user prefers, such as personality, appearance, and role.
[1264] "Story" refers to the entire story of the work recommended by the system.
[1265] An "emotion engine" refers to technology or algorithms that analyze a user's facial expressions, voice characteristics, input speed, etc. while they are typing to recognize their current emotional state.
[1266] "Input means" refers to a device or interface (e.g., keyboard, mouse, touch panel, etc.) that allows a user to input information into a system.
[1267] "Analysis means" refers to software or algorithms used to analyze data and emotional data entered by users.
[1268] "Recommended candidates" refer to candidate works that are narrowed down based on the user's input data and emotion data and are recommended to the user.
[1269] "Works Database" refers to a database that the recommendation system accesses and searches for candidate works for recommendation.
[1270] "Tags" are labels that indicate the characteristics or genre of a work or character, and refer to keywords used by the recommendation system when searching data.
[1271] "Matchability" refers to a score or rating that indicates the relevance of the user's input data and emotion data to the work tags in the database.
[1272] The "recommended candidate list" refers to a list of works that are considered to be most suitable for the user, created based on the analysis results.
[1273] The present invention is a system that recommends the most suitable works based on the user's input of their preferred character type and the story they want to watch, and by combining it with an emotion engine, it makes even more accurate recommendations based on the user's emotions.
[1274] Getting and Parsing User Input
[1275] Using the input form on the device, the user inputs information such as "favorite type of character," "story to watch," and "favorite situation." For example, the user can specifically describe their preferences, such as "I like easygoing, caring characters" or "I want to watch adventure fantasy."
[1276] Emotion recognition by emotion engine
[1277] The device activates an emotion engine while the user is typing. The emotion engine analyzes the user's facial expressions, voice characteristics, typing speed, etc. to recognize the user's current emotional state (e.g., excitement, joy, fatigue, etc.). The emotion engine recognizes the user's face through the camera and reads emotions from facial expressions. It can also use the microphone to analyze voice tone and speed to evaluate emotions.
[1278] Data transmission and analysis
[1279] The device transmits the user-entered data and the recognized emotion data to the server in real time using a secure protocol (e.g., HTTPS). The transmitted data is packaged in JSON format.
[1280] The server analyzes the received user input data and sentiment data, using text analysis algorithms and natural language processing models (e.g., BERT) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user input.
[1281] Narrowing down recommended candidates
[1282] The server searches a database of artworks based on the analyzed keywords and emotional data. Each artwork is assigned predefined tags and metadata, and the server selects artworks with the highest match. The server searches the database using SQL queries or full-text search (e.g., Elasticsearch) and applies a matching algorithm. The emotional data is added as a weight to the recommendation score, enabling recommendations tailored to the user's preferences and emotional state.
[1283] Providing recommendation results
[1284] The server sorts the works in descending order of similarity, generates a list of recommended candidates, and transmits it to the terminal.
[1285] The device displays a list of recommended candidates to the user, allowing the user to easily find works that suit their preferences. After receiving the recommendation results, the device displays the list through a user interface, and also has the ability to display detailed information with hover effects and click operations.
[1286] Specific examples
[1287] For example, a user may input conditions such as "a caring and reliable big brother character," "a fantasy with a growing story," and "a mystery with a not-too-grown-up plot." The emotion engine then recognizes the user's facial expression and voice as "excited."
[1288] The device transmits this input information and emotion data to the server in real time.
[1289] The server analyzes keywords such as "reliable big brother," "growth," "fantasy," "not cruel," and "deduction," as well as "excitement state," and compares them with the database.
[1290] The degree of match is calculated and works such as "Work A," "Work B," and "Work C" are listed as highly rated.
[1291] The server generates a list of these works as recommendation candidates and transmits it to the terminal.
[1292] The device displays the list to the user, allowing them to efficiently find works that match their preferences, and the emotional engine provides visual and auditory feedback, further enhancing the user's experience.
[1293] Prompt Sentence Examples
[1294] "I'd like to recommend a fantasy mystery story about growing up, featuring a caring and dependable big brother character. I'd like to see a work that doesn't depict events in a brutal way. I'm also excited right now."
[1295] As a result, this system can realize more appropriate and accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[1296] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1297] Step 1: Getting User Input
[1298] The user uses the input form on the device to input information such as "favorite type of character," "story they want to watch," and "favorite situation." For example, they can input specific preferences such as "I like easygoing, caring characters" or "I want to watch adventure fantasy." The input data is converted into JSON format and saved on the device.
[1299] Step 2: Emotion recognition by the emotion engine
[1300] The device activates the emotion engine while the user is filling out a form. The emotion engine recognizes the user's face through the camera and collects facial expression data. It also uses a microphone to collect the user's voice and analyzes the tone and speed of the voice to determine the user's emotional state. This emotion data is compiled in JSON format and analyzed in real time.
[1301] Step 3: Send data to the server
[1302] The device combines the user-entered preference data and recognized emotion data into a JSON package and sends it to the server using the HTTPS protocol, including the character's preferences, story type, situation, and emotional state.
[1303] Step 4: Analyze user data
[1304] The server analyzes the received JSON data. First, it uses a text analysis algorithm (such as the BERT natural language processing model) to extract keywords such as "easygoing," "caring," "adventure," and "fantasy" from the user's input data. It also analyzes the emotion data to identify states such as excitement, joy, and fatigue. The analysis results are stored in an internal data structure.
[1305] Step 5: Narrow down your recommendations
[1306] The server searches a database of works based on the analyzed keywords and emotional data. The database contains pre-defined tags and metadata for each work. The server uses SQL or a full-text search engine (e.g., Elasticsearch) to extract works that match the user's preferences. At the same time, the server takes into account the emotional data and prioritizes works that best suit the user's current emotional state.
[1307] Step 6: Calculate match and generate recommendation list
[1308] The server calculates the degree of match between keywords and tags, incorporates emotional data into the score, and selects the work that best matches. For example, for keywords such as "easygoing and caring," "adventure," and "fantasy," and for a user who is in an "excited state," a work with many action scenes will receive a high score. The list of recommended candidates is sorted by match score, organized in JSON format, and sent to the device.
[1309] Step 7: Providing Recommendations
[1310] The device displays the received list of recommendation candidates to the user. A GUI (Graphical User Interface) is used to allow the user to easily find works that match their preferences. For example, candidate works are presented in a list format as "Works that suit your tastes," and detailed information is displayed using hover effects and click operations. Feedback from the emotion engine is also used to enhance the visual and auditory effects.
[1311] By clarifying the specific actions and data flow performed at each step, the system can simultaneously consider the user's specific preferences and current emotional state, enabling more appropriate and accurate work recommendations.
[1312] (Application example 2)
[1313] 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."
[1314] Conventional content recommendation systems only make recommendations based on the user's preferred characters and story types, and do not take the user's emotional state into account, resulting in low recommendation accuracy. Furthermore, they lack visual and auditory feedback tailored to the user's emotions, which can lead to low user satisfaction. Therefore, the present invention solves these problems by providing a content recommendation system that takes the user's emotional state into account.
[1315] 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.
[1316] In this invention, the server includes means for allowing a user to input their preferred character types and stories they want to watch, means for analyzing the input preferred character types and stories they want to watch, means including an emotion engine that recognizes the user's emotional state, means for narrowing down recommendation candidates from a content database based on the analyzed data and emotion data, and means for generating a list of recommendation candidates and providing it to the user. This enables highly accurate work recommendations by taking into account both the user's specific preferences and emotional state.
[1317] "User" refers to any person who uses the System to receive content recommendations.
[1318] "Favorite character type" refers to the characteristics of characters that a user finds particularly attractive.
[1319] "Stories you want to see" refers to the types and content of stories that users are interested in.
[1320] "Emotional state" refers to the psychological state recognized from the user's facial expressions, voice, etc.
[1321] An "emotion engine" refers to software or hardware that recognizes a user's emotional state in real time.
[1322] "Content database" refers to data storage that stores information about each piece of content.
[1323] "Recommendations" refers to a list of content selected based on the user's preferences and emotional state.
[1324] "Analyzed data" refers to the results of processing by the data analysis means information entered by the user regarding the type of preferred character and the story they wish to watch.
[1325] "Tags" refer to pre-defined keywords or labels that indicate the characteristics of content.
[1326] "Keywords" refer to important words that users use when entering their preferred type of character or the story they want to see.
[1327] "Matchability" refers to an index that quantifies the similarity between the user's input data and analysis results and the information in the content database.
[1328] The system for realizing this invention includes a means for users to input their preferred character types and stories they want to see. The user inputs this information using a smartphone or other interface device. The input data is sent to the system where it is analyzed in real time.
[1329] The server has a way to analyze the input of the preferred character type and story you want to watch, using a Python natural language processing library (e.g., NLTK or spaCy) to extract specific keywords and tags, and then uses an emotion engine (e.g., a model built with TensorFlow or Keras) to recognize the user's emotional state to obtain emotion data.
[1330] The acquired emotion data and input data are compared with a content database stored on the server to select appropriate recommendation candidates. The content database is pre-assigned tags and keywords related to the content, and an algorithm is implemented to calculate the degree of match. In this calculation, a scoring system is used to quantify the degree of match.
[1331] The list of recommendation candidates generated by the above process is sent from the server to the user's device and provided to the user. The device displays the recommended content as a list organized taking into account the user's preferences and emotional state. It also provides visual and auditory feedback to the user according to the emotional state recognized by the emotion engine.
[1332] For example, suppose a user likes "brave heroes," "adventure fantasy," and "story with little sadness," and is in an "excited state." In this case, the server analyzes the keywords "brave heroes," "adventure fantasy," and "story with little sadness," and recognizes the "excited state" using an emotion engine. Based on this data, it narrows down the content database to highly matching content as recommendation candidates and provides them to the user.
[1333] Example prompts to input to a generative AI model:
[1334] "Imagine a user likes 'brave heroes,' 'adventure fantasy,' 'story with little sadness,' and is in an 'excited state.' Recommend a list of anime titles that would be best suited for this user."
[1335] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1336] Step 1:
[1337] The device provides a means for the user to input information about the type of character they prefer and the story they want to see. The user uses a form on their smartphone to input their preferences, such as "brave hero" or "adventure fantasy." This input data is then sent to step 2.
[1338] Step 2:
[1339] The device sends the input data received from the user to the server for analysis. After receiving the user's input data, the server performs text analysis using Python's natural language processing library (NLTK or spaCy). As a result of the analysis, identified keywords and tags are extracted and the process proceeds to the next step.
[1340] Step 3:
[1341] The emotion engine provides a means to recognize the user's emotional state. It collects the user's facial and voice data and performs real-time emotion analysis using TensorFlow and Keras. This process is performed in parallel with the user's input data. The recognized emotion data is then sent to the server.
[1342] Step 4:
[1343] The server searches the content database based on the analyzed keywords, tags, and emotional data. The works in the database are pre-assigned tags and keywords, and the server calculates the degree of match between these and the user's input data and emotional data. A scoring system is used to quantify the degree of match, narrowing down the search to the appropriate content.
[1344] Step 5:
[1345] The server generates a list of recommendation candidates from the filtered content. The list is sorted in descending order of similarity and is constructed taking into account the user's emotional data. This list is then sent to the device.
[1346] Step 6:
[1347] The device displays the list of recommendation candidates received from the server to the user. The recommendation results are visually organized based on the user's preferences and are presented to the user. Depending on the results of the emotion engine, visual or auditory feedback is also provided to improve the user experience.
[1348] Summary of input and output for each processing step
[1349] Step 1
[1350] Input: The type of character the user wants to see and the story they want to see.
[1351] Output: Input data from smartphone
[1352] Step 2
[1353] Input: Input data sent from the smartphone
[1354] Output: Analyzed keywords and tags (text analysis results)
[1355] Step 3
[1356] Input: User facial and voice data
[1357] Output: Recognized emotion data
[1358] Step 4
[1359] Input: Analyzed keywords, tags, and sentiment data
[1360] Output: Match score and filtered content
[1361] Step 5
[1362] Input: Match score and filtered content
[1363] Output: Recommendation candidate list
[1364] Step 6
[1365] Input: Recommendation candidate list
[1366] Output: Recommendations and feedback displayed to the user
[1367] 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.
[1368] 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.
[1369] 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.
[1370] 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.
[1371] 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.
[1372] 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.
[1373] 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).
[1374] 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.
[1375] 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."
[1376] 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.
[1377] 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).
[1378] 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.
[1379] 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.
[1380] 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.
[1381] 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.
[1382] 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.
[1383] 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.
[1384] 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.
[1385] 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.
[1386] 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.
[1387] 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.
[1388] The following is further disclosed regarding the above embodiment.
[1389] (Claim 1)
[1390] a means for users to input their preferred character types and stories they wish to see;
[1391] A means for analyzing the input preferred character type and story to watch;
[1392] A means to narrow down recommended candidates from a database of works based on the analyzed data,
[1393] A means for generating and providing a list of potential recommendations to the user;
[1394] A system including:
[1395] (Claim 2)
[1396] 10. The system of claim 1, further comprising means for calculating a degree of match with works in the database using keywords and tags when narrowing down the recommendation candidates.
[1397] (Claim 3)
[1398] 10. The system of claim 1, further comprising means for parsing and converting user-entered preference information into predefined tags.
[1399] "Example 1"
[1400] (Claim 1)
[1401] a means for users to input their preferred character types and stories they wish to see;
[1402] A means for analyzing the input preferred character type and story to watch;
[1403] A means to narrow down recommended candidates from a database of works based on the analyzed data,
[1404] A means for generating and providing a list of potential recommendations to the user;
[1405] a means for displaying the proposed recommendations;
[1406] A system including:
[1407] (Claim 2)
[1408] 10. The system of claim 1, further comprising means for calculating a degree of match with works in the database using keywords and tags when narrowing down the recommendation candidates.
[1409] (Claim 3)
[1410] 10. The system of claim 1, further comprising means for parsing the user-entered preference information and extracting keywords using a natural language processing library.
[1411] "Application Example 1"
[1412] (Claim 1)
[1413] a means for users to input their preferred character types and stories they wish to see;
[1414] A means for analyzing the input preferred character type and story to watch;
[1415] A means to narrow down recommended candidates from a database of works based on the analyzed data,
[1416] A means for generating and providing a list of potential recommendations to the user;
[1417] A means for performing data analysis using a generative AI model;
[1418] A system including:
[1419] (Claim 2)
[1420] 2. The system of claim 1, further comprising means for calculating a degree of match with works in a database using keywords and tags when narrowing down recommendation candidates, and for personalized content recommendation.
[1421] (Claim 3)
[1422] 2. The system of claim 1, further comprising means for analyzing preference information input by a user, converting the preference information into predefined tags, and inputting the predefined tags into the generative AI model as prompt sentences.
[1423] "Example 2: Combining Emotion Engines"
[1424] (Claim 1)
[1425] A means for the user to input the type of character they prefer and the story they wish to see;
[1426] means for recognizing a user's emotion during user input using an emotion engine;
[1427] A means for analyzing the input preferred character type and the story and emotion that the user wants to see;
[1428] A means to narrow down recommended candidates from a database of works based on the analyzed data,
[1429] means for generating a list of recommendation candidates and providing it to a user;
[1430] A system including:
[1431] (Claim 2)
[1432] 10. The system of claim 1, further comprising means for calculating a degree of match with works in the database using keywords and tags when narrowing down the recommendation candidates.
[1433] (Claim 3)
[1434] 10. The system of claim 1, further comprising means for analyzing and converting user-input preference information and emotion data into predefined tags.
[1435] "Application example 2 when combining emotion engines"
[1436] (Claim 1)
[1437] a means for users to input their preferred character types and stories they wish to see;
[1438] A means for analyzing the input preferred character type and story to watch;
[1439] means including an emotion engine for recognizing an emotional state of a user;
[1440] A means for narrowing down recommendation candidates from a content database based on the analyzed data and emotion data;
[1441] A means for generating and providing a list of potential recommendations to the user;
[1442] A system including:
[1443] (Claim 2)
[1444] 10. The system of claim 1, further comprising means for calculating a degree of match with works in a database using keywords and tags and taking into account emotional data when narrowing down the recommended candidates.
[1445] (Claim 3)
[1446] 10. The system of claim 1, further comprising means for parsing and converting user-entered preference information into predefined tags. [Explanation of symbols]
[1447] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. a means for users to input their preferred character types and stories they wish to see; A means for analyzing the input preferred character type and story to watch; A means to narrow down recommended candidates from a database of works based on the analyzed data, A means for generating and providing a list of potential recommendations to the user; A system including:
2. The system of claim 1 further comprising means for calculating a degree of match with works in the database using keywords and tags when narrowing down the recommendation candidates.
3. 10. The system of claim 1, further comprising means for parsing and converting user-entered preference information into predefined tags.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A