system
The system addresses the inefficiencies of existing book recommendation systems by utilizing natural language processing and emotion analysis to provide personalized and timely book recommendations, enhancing the user's reading experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Existing book recommendation systems fail to accurately respond to user requests in natural language, leading to a time-consuming and labor-intensive process that results in suboptimal recommendations, thereby deteriorating the user's reading experience.
A system that includes a user input mechanism, request analysis using natural language processing, database access, recommendation engine, and response generation to provide quick and accurate book recommendations based on user requests, incorporating emotion analysis for personalized suggestions.
The system effectively recommends books that meet user needs by analyzing requests and emotions, improving the reading experience by providing timely and relevant book suggestions.
Smart Images

Figure 2026041486000001_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] In the past, when users searched for books they wanted to read, they had to manually select from a large amount of information, which was a time-consuming and labor-intensive process. Furthermore, there was no system that could accurately respond to specific user requests (such as "a quick mystery"). This made it difficult to recommend books that met the user's needs. This resulted in a decline in the quality of the reading experience, making it difficult to improve user satisfaction. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including: a means for a user to input a request; a request analysis means for analyzing the request; a means for accessing a database based on the analyzed request information to obtain related information; a recommendation engine means for making optimal recommendations based on the obtained information; and a means for displaying the recommendation results to the user. In particular, the request analysis means uses natural language processing to accurately analyze the user's intent and dynamically search the database for related information based on that analysis. This makes it possible to quickly and accurately recommend books that meet the user's request, improving the user's reading experience.
[0006] "User" refers to any individual or entity using particular information or services.
[0007] A "request" refers to a request or question that a user inputs to the system.
[0008] "Request analysis" refers to the process of understanding the content of a user's request and extracting its meaning.
[0009] "Natural language processing" refers to the technology that uses computers to analyze, understand, and process the language that humans use on a daily basis.
[0010] A "database" refers to a collection of related information that is systematically stored and made available for quick search and retrieval.
[0011] "Access" refers to the process of reaching and using specific data or information.
[0012] A "recommendation engine" refers to a system that recommends optimal content and products based on a user's information and preferences.
[0013] "Display" refers to the manner in which information is presented to a user, visually or otherwise.
[0014] A "system" refers to an overall structure in which multiple components and means work together to perform a specific function. [Brief explanation of the drawings]
[0015] [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
[0016] 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.
[0017] First, the terms used in the following description will be explained.
[0018] 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).
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 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.
[0026] 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).
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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."
[0036] The present invention is implemented to provide a system that appropriately recommends books that a user wants to read. This system has a function of automatically recommending the most suitable books based on a user's request.
[0037] Overview of the Example
[0038] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0039] User operations
[0040] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a quick mystery."
[0041] Terminal handling
[0042] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0043] Server Processing
[0044] The server receives the request sent from the terminal and executes the following processes in order.
[0045] Request Analysis
[0046] The server's request analysis module analyzes the received request. This module uses natural language processing (NLP) to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0047] Database Access
[0048] The server uses the database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery."
[0049] Recommendations
[0050] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best meets the user's request. For example, it might select a "popular mystery novel that is quick to read" from the search results.
[0051] Response Generation
[0052] The server's response generation module generates a message to the user in natural language, based on the results from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0053] Sending a response
[0054] The server sends the generated response message to the terminal, which then displays the received message on the user interface and provides the user with the recommended results.
[0055] Specific examples
[0056] For example, if the user requests "Tell me the latest bestsellers in the US," the process proceeds as follows:
[0057] 1. The user enters a request.
[0058] 2. The device sends a request to the server.
[0059] 3. The server receives the request and extracts "Recent", "USA", and "Best Sellers".
[0060] 4. Obtain the relevant book information from the database.
[0061] 5. The recommendation engine selects the best book.
[0062] 6. The response generation module generates the message, "The best-selling book in America right now is 'a certain book.'"
[0063] 7. The server sends the message to the terminal, which displays it to the user.
[0064] The above is a description of a specific embodiment for carrying out the invention. This system allows users to easily find the books they want to read, improving their reading experience.
[0065] The processing flow will be explained below.
[0066] Step 1:
[0067] A user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that can be read quickly."
[0068] Step 2:
[0069] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0070] Step 3:
[0071] The server receives the request sent from the terminal and passes it to the request analysis module.
[0072] Step 4:
[0073] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read a mystery that can be read quickly," the keywords "quick read" and "mystery" are extracted.
[0074] Step 5:
[0075] The server uses a database access module to query the database based on the analyzed keywords, for example, searching for book information related to "quick read" and "mystery."
[0076] Step 6:
[0077] The server then passes the related book information it has retrieved from the database to the recommendation engine, which then applies an algorithm to make optimal recommendations and identifies the book that best suits the user's request.
[0078] Step 7:
[0079] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Sakura.'"
[0080] Step 8:
[0081] The server sends the generated response message to the terminal in the form of an HTTP response.
[0082] Step 9:
[0083] The terminal displays the response received from the server on the user interface, allowing the user to check information about the recommended books.
[0084] These are the specific processing steps from request to display of recommendation results. By executing each step in sequence, it is possible to quickly recommend the most suitable book to the user.
[0085] Example 1
[0086] 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."
[0087] Conventional book recommendation systems often lack the ability to accurately respond to user requests, and it is particularly difficult to properly analyze requests entered in natural language and recommend books that match the user's intent. Furthermore, the display of recommended book information is sometimes not quick and intuitive, making it difficult for users to obtain a satisfying reading experience.
[0088] 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.
[0089] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, means for accessing a database based on the analyzed request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, means for transmitting a generated response to a terminal for display to the user, and means for displaying the response received by the terminal on a user interface. This makes it possible to quickly and accurately recommend books based on the user's natural language request, thereby improving the user's reading experience.
[0090] The "means for users to input requests" refers to a device or software that provides an interface that allows users to freely input information about books they want to read and their wishes.
[0091] The "request analysis means" refers to a module or algorithm used to analyze an input request and understand the user's intentions and needs.
[0092] "Means for accessing a database and retrieving related information" refers to a system or software for searching for and retrieving related data such as book information based on the analyzed request.
[0093] The "recommendation engine means" refers to an algorithm or module that selects and recommends books that best suit the user's needs based on the acquired data.
[0094] The "means for transmitting the generated response to the terminal for display to the user" refers to a communication means for quickly delivering the response message generated by the server to the user's terminal.
[0095] The "means for displaying the response received by the terminal on the user interface" refers to a mechanism for visually or audibly presenting the message received by the terminal to the user using a screen or other output device.
[0096] The present invention relates to a system that appropriately recommends books that users want to read. This system has the function of automatically recommending the most suitable books based on user requests. The operation of this system will be explained below from the perspectives of the user, the terminal, and the server.
[0097] User operations
[0098] Users can use their smartphones, tablets, or PCs to input requests for books they want to read. Specifically, users can input requests in free text format, such as "I want to read a quick mystery."
[0099] Terminal handling
[0100] The terminal receives a request input by a user. After receiving the request, the terminal converts the request into an appropriate format (e.g., JSON format) and sends it to the server as an HTTP request.
[0101] Server Processing
[0102] The server receives the HTTP request sent from the terminal. After receiving the request, the server executes the following processes in order.
[0103] Request Analysis
[0104] The server's request analysis module analyzes the request. This module uses natural language processing (NLP) technology to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0105] Database Access
[0106] The server uses a database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery." Specifically, it accesses the database using a query language such as SQL to retrieve related book information.
[0107] Recommendations
[0108] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best suits the user's request. For example, it may select "highly rated mystery novels with short reading times" from the search results. The engine selects books using machine learning models and collaborative filtering algorithms.
[0109] Response Generation
[0110] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results obtained from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0111] Sending and displaying the response
[0112] The server generates a response message and sends it to the terminal, which then displays it on its user interface, allowing the user to view the recommended books.
[0113] Specific examples
[0114] For example, if a user makes a request such as "Tell me the latest bestsellers in the US," the process proceeds as follows: The user inputs a request, and the device sends it to the server. The server receives the request and extracts "recent," "USA," and "bestsellers." It retrieves relevant book information from the database and selects the most suitable book using the recommendation engine. The response generation module generates a message saying, "The best-selling book in the US right now is 'A Certain Book,'" and the server sends the message to the device. The device displays this to the user, allowing them to check the recommended bestsellers.
[0115] This system will enable users to easily find the books they want to read, which will surely improve their reading experience.
[0116] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0117] Step 1:
[0118] The user inputs a request using a device (such as a smartphone, tablet, or PC). The input is in the form of free text, such as "I want to read a quick mystery," and is input data to the system. Specific actions include the user typing the desired conditions into a text input field.
[0119] Step 2:
[0120] The terminal receives a request entered by the user. After receiving the request, it converts it into an appropriate data format, such as JSON. This conversion is part of data processing and is preprocessing for sending it to the server as an HTTP request. The output from the terminal is the converted request data in JSON format.
[0121] Step 3:
[0122] The server receives an HTTP request sent from a terminal. Based on the input data of the received request, the request is analyzed using a request analysis module. This analysis uses natural language processing (NLP) technology to extract the important keywords "quick read" and "mystery" from the request "I want to read a mystery that's easy to read." The input data for this process is a series of text data, and the output data is the extracted keywords.
[0123] Step 4:
[0124] The server uses the database access module based on the analyzed keywords to issue a query to the database. This query calculation and processing involves calculating and processing data in the database, and specifically generates an SQL query such as "SELECT FROM books WHERE genre='mystery' AND reading_time <= 'short'". The input data is the keywords, and the output data is the retrieved book information.
[0125] Step 5:
[0126] The server's recommendation engine analyzes book information retrieved from the database and selects the book that best suits the user's request. This process uses machine learning models and collaborative filtering algorithms. Specifically, it narrows down the results to highly rated mystery novels, etc. The input data is book information, and the output data is the selected book information.
[0127] Step 6:
[0128] The server's response generation module generates a message recommending a book to the user based on the book information selected by the recommendation engine. As a specific example, a message is created that reads, "The book we recommend for you is 'Spring Without Cherry Blossoms.'" This generation is the process of converting output data into a natural language format, with the input data being the selected book information and the output data being the generated message.
[0129] Step 7:
[0130] The server sends the generated response message to the terminal as an HTTP response. The input data is the generated message, and the output data is the HTTP response.
[0131] Step 8:
[0132] The terminal analyzes the HTTP response received from the server and extracts the message. This message is displayed on the user interface. Specifically, the message "The book recommended for you is 'Spring Without Cherry Blossoms'" is displayed on the screen. The input data in this step is the HTTP response, and the output data is the message to be displayed to the user.
[0133] The above is the specific processing flow of this system.
[0134] (Application example 1)
[0135] 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."
[0136] In conventional book recommendation systems, users typically input their requests online and receive recommendations online. However, this method does not provide the same convenience as purchasing books in the real world, and there is a problem in that it is time-consuming to locate recommended books when searching for books in a bookstore. Furthermore, there is a need to improve the user purchasing experience by introducing automated recommendation systems into physical stores.
[0137] 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.
[0138] In this invention, the server includes a means for a user to input a request, a request analysis means for analyzing the request, a means for accessing a database based on the analyzed request information to obtain related information, a recommendation engine means for making optimal recommendations based on the obtained information, a means for providing the recommendation results to the user, and a means for displaying location information of real-world items. This allows users to easily find books they want to read in a physical store, significantly improving the purchasing experience.
[0139] The "means for inputting a request" refers to a device that allows a user to input information about a desired book by voice or text, specifically an input device such as a smartphone, tablet, PC, or smart glasses.
[0140] The "request analysis means" is a technology that analyzes requests entered by users and extracts their intentions and keywords, and is a technology that uses natural language processing (NLP).
[0141] "Means of accessing a database to obtain related information" refers to a means of searching for and obtaining related information by sending a query to a database containing relevant book information based on the analyzed keywords.
[0142] A "recommendation engine means" is an algorithm or system that selects and recommends books that best fit a user's request based on the acquired information.
[0143] The "means of providing to the user" refers to the means of conveying the recommendation results to the user by voice or text, and displaying them on the display of a smart device, etc.
[0144] "Means for displaying real-world item location information" refers to means that use displays or AR technology to visually provide users with the specific shelf location or location of recommended books in a real store.
[0145] The present invention provides a system that allows users to easily find books they want to read in physical stores. The main components of this system are a user-held input device, a voice recognition function, natural language processing (NLP), database access, a recommendation engine, and a display means that provides real-world item location information.
[0146] Specific embodiments of the present invention will be described below.
[0147] User operations
[0148] A user can voice-input requests for books they want to read via an input device such as smart glasses, for example, "Tell me about recent business books."
[0149] Terminal handling
[0150] The device receives the voice request, converts it into text data using speech recognition software (e.g., Google® speech recognition API), and then converts the converted request into a format appropriate for sending to the server and sends it to the server as an HTTP request.
[0151] Server Processing
[0152] The server processes the request received from the terminal, specifically including the following steps:
[0153] Request Analysis
[0154] The server's request analysis module uses natural language processing (NLP) to analyze the intent of the request and extract important keywords. For example, from a voice request such as "Tell me about recent business books," the keywords "recent" and "business books" are extracted.
[0155] Database Access
[0156] The server queries the database using the analyzed keywords to retrieve relevant book information, including the book title, author, rating, and reading time.
[0157] Recommendations
[0158] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. For example, in response to a request for "recent business books," the book "Refresher on Business Basics" will be recommended.
[0159] Generating and displaying recommendations
[0160] After the final recommendation is determined, the server generates a natural-sounding message and presents it to the user. For example, it generates a message like, "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0161] Presentation of results
[0162] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display, allowing the user to visually check the shelf location of the recommended book in the bookstore and easily find the desired book.
[0163] Specific examples
[0164] For example, if a user requests "Tell me about recent business books," the results would be as follows:
[0165] 1. User voice input: Tell me about recent business books
[0166] 2. Keywords analyzed: recent, business books
[0167] 3. Recommended Book: Relearning Business Basics
[0168] 4. Shelf position: 3A
[0169] 5. Message: The recommended book is "Business Basics Refresher." It's on shelf 3A.
[0170] This will enable users to easily find the books they want in physical stores, and is expected to improve their purchasing experience.
[0171] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0172] Step 1:
[0173] The user inputs a request for a desired book by voice through the smart glasses. Specifically, the input is voice data such as "Tell me about recent business books." This request is captured as voice through the microphone of the smart glasses.
[0174] Step 2:
[0175] The device receives the voice request and converts it into text data using speech recognition software (e.g., Google speech recognition API). The input is voice data, and the output is text data such as "Tell me about recent business books." The converted text data is then converted into a format that can be sent to the server.
[0176] Step 3:
[0177] The terminal sends the converted text data to the server. At this time, the text data is formatted as an HTTP request and sent to the server. The input is text data, and the output is data in HTTP request format. The server receives this.
[0178] Step 4:
[0179] The server's request analysis module analyzes the received request. It uses natural language processing (NLP) to understand the intent of the request and extract important keywords. The input is text data such as "Tell me about recent business books," and the output is keyword data such as "recent" and "business books."
[0180] Step 5:
[0181] The server uses the analyzed keywords to query the database using a database access module. The input is keyword data, and the output is a list of related book information. Specifically, this includes "Relearning Business Basics."
[0182] Step 6:
[0183] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. The input is a list of book information, and the output is the recommended book information. For example, "Relearning Business Fundamentals" is selected.
[0184] Step 7:
[0185] The server's response generation module generates a recommendation result for the user in natural sentences based on the recommended book information. The input is the recommended book information, and the output is text data such as "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0186] Step 8:
[0187] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display. The input is text data, and the output is display information that the user can visually confirm. Based on this information, the user can easily check the shelf location of the recommended book in the bookstore.
[0188] 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.
[0189] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books.
[0190] Overview of the Example
[0191] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0192] User operations
[0193] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a mystery that will cheer me up a little."
[0194] Terminal handling
[0195] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0196] Server Processing
[0197] The server receives the request sent from the terminal and executes the following processes in order.
[0198] Request Analysis
[0199] The server's request analysis module analyzes the received request using natural language processing (NLP). For example, from a request such as "I want to read a mystery that will cheer me up a little," it extracts the keywords "that will cheer me up a little" and "mystery."
[0200] Emotion analysis
[0201] The server's emotion engine analyzes the user's emotion based on the request text. As a result of the analysis, it identifies the user's current emotional state from the request. For example, it recognizes the emotion "I want to feel better" from the user's request.
[0202] Emotion and Request Correction
[0203] The request information is corrected by combining the results of request analysis and sentiment analysis. For example, the request information is corrected to a keyword that incorporates the emotional element of "feeling a little better" as "an uplifting mystery."
[0204] Database Access
[0205] The server uses the database access module to query the database based on the corrected keywords. This query searches for book information related to "uplifting" and "mystery."
[0206] Recommendations
[0207] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best matches the user's request and emotions. For example, it might select from the search results a "highly rated mystery novel that will leave you feeling energized after reading it."
[0208] Response Generation
[0209] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results from the recommendation engine. For example, it generates a message such as "The book I recommend for you is 'An Uplifting Mystery'."
[0210] Sending a response
[0211] The server sends the generated response message to the terminal, in the form of an HTTP response.
[0212] Display in the user interface
[0213] The device displays the received recommendation results on the user interface, allowing the user to check information about the recommended books.
[0214] Specific examples
[0215] For example, if the user requests "I want to read a novel that will ease my feelings of loneliness," the process proceeds as follows:
[0216] 1. The user enters a request.
[0217] 2. The device sends a request to the server.
[0218] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[0219] 4. The emotion engine analyzes the emotion of "lonely" and
[0220] 5. Based on the request analysis results, correct it to "a heartwarming novel."
[0221] 6. Obtain the relevant book information from the database.
[0222] 7. The recommendation engine selects the best book.
[0223] 8. The response generation module generates a message saying, "The book I recommend for you is 'Heartwarming Stories'."
[0224] 9. The server sends the message to the terminal, which displays it to the user.
[0225] This concludes the description of the specific embodiment for carrying out the invention. This system allows users to easily find the most suitable book for their emotional state, further improving their reading experience.
[0226] The processing flow will be explained below.
[0227] Step 1:
[0228] The user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that will cheer me up."
[0229] Step 2:
[0230] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0231] Step 3:
[0232] The server receives the request sent from the terminal and passes the data to the request analysis module.
[0233] Step 4:
[0234] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read an uplifting mystery," it extracts the keywords "uplifting" and "mystery."
[0235] Step 5:
[0236] The server calls the emotion engine and analyzes the user's emotions using the extracted keywords. For example, the phrase "I can feel better" identifies the user's current desire for energy.
[0237] Step 6:
[0238] The results of the emotion analysis and the request analysis are combined to correct the request information. For example, taking into account the desire to feel cheerful, the request can be corrected to something like "a mystery that will lift your spirits."
[0239] Step 7:
[0240] The server runs a database access module to access a database based on the corrected request information, for example, to search for book information related to "spirit-boosting mysteries."
[0241] Step 8:
[0242] The server sends the related book information retrieved from the database to the recommendation engine, which selects the book that best suits the user's request and emotional state.
[0243] Step 9:
[0244] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Heartwarming Mystery.'"
[0245] Step 10:
[0246] The server generates a response message and sends it to the terminal. The message is sent in HTTP response format.
[0247] Step 11:
[0248] The terminal displays the response received from the server on the user interface, allowing the user to check the information about the recommended books.
[0249] These are the specific processing steps in a system that combines an emotion engine. By executing each step in sequence, it becomes possible to recommend the most suitable book based on the user's emotional state.
[0250] Example 2
[0251] 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."
[0252] Conventional book recommendation systems lack the functionality to consider the user's emotional state when recommending books based on user requests, which means they are unable to recommend books that are appropriate for the user's emotions. Furthermore, the recommendations tend to be mechanical and unnatural, which means they are unable to sufficiently improve user satisfaction.
[0253] 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.
[0254] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the user's emotional state based on the request, means for correcting the request based on the analyzed request information and emotion information, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user. This enables appropriate book recommendations that are in line with the user's emotions, and the recommended results are provided to the user in natural, easy-to-understand sentences, thereby improving user satisfaction.
[0255] The "means for users to input requests" refers to an interface that allows users to use a terminal to input requests for books they wish to read in text, audio, or other formats.
[0256] The "request analysis means" is a function for analyzing requests received from users using natural language processing technology and extracting key keywords and phrases.
[0257] "Emotion analysis means" is a function for analyzing a user's emotional state based on the request text from the user, using a generative AI model, etc.
[0258] The "means for correcting requests" is a function for combining the results of request analysis and emotion analysis to optimize request information based on the user's intentions and emotional state.
[0259] "Means of accessing the database and obtaining related information" refers to a function that sends a query to the database based on the corrected request information to search for and obtain the relevant book information.
[0260] The "recommendation engine means" is an engine for selecting books that best suit the user's requests and emotions based on book information obtained from the database.
[0261] The "means for displaying to the user" is a function for generating optimal book recommendation results in natural sentences and visually displaying them to the user via a user interface.
[0262] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books. A specific implementation method of this system is described below.
[0263] Specific implementation methods
[0264] 1. User request input
[0265] Users input their requests for books they want to read in text format using devices such as smartphones, tablets, and PCs. For example, they might input, "I'd like to read a mystery that will cheer me up a little." The input interface is a web browser or dedicated application software.
[0266] 2. Submitting a Request
[0267] The terminal receives the request entered by the user and converts it into the appropriate format: it converts the entered text into JSON format and sends it to the server as an HTTP POST request.
[0268] 3. Processing on the Server
[0269] The server performs the following processes in sequence.
[0270] a. Request Analysis
[0271] The server analyzes the received request using a request analysis method. This analysis uses natural language processing (NLP) technology. Specific libraries used are SpaCy and NLTK. From a request such as "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted.
[0272] b. Emotion analysis
[0273] The server uses a sentiment analysis tool to analyze the user's emotional state from the request text. This analysis uses a generative AI model (for example, the BERT model based on the Transformers library). From the prompt, the server identifies the sentiment "I want to feel better."
[0274] c. Request Amendment
[0275] The server combines the results of the request analysis and the sentiment analysis to correct the request information. For example, taking into account the emotional element of "it makes me feel a little better," the server corrects the request information to the keyword "a mystery that lifts my spirits."
[0276] d. Database Access
[0277] The server then sends a query to the database based on the corrected keywords. Here, the MySQL (registered trademark) or PostgreSQL database system is used. The query searches for book information related to "uplifting" and "mystery."
[0278] e. Recommendation generation
[0279] The server's recommendation engine analyzes the book information retrieved from the database and selects the book that best suits the user's request and emotions. For example, it might select a highly rated mystery novel that will leave you feeling energized after reading it.
[0280] f. Response Generation
[0281] The server's response generation means generates a message to the user in natural language based on the recommendation engine's results, recommending books. For example, it could generate a message like, "The book I recommend for you is 'An uplifting mystery.'"
[0282] 4. Sending and displaying recommendation results
[0283] The server sends the generated message in the form of an HTTP response to the terminal, which then displays the received recommendation results on a user interface, allowing the user to check information about the recommended books.
[0284] As a specific example, if a user requests "I want to read a novel that will ease my feelings of loneliness," the following processing will be performed.
[0285] 1. The user types, "I want to read a novel that will ease my feelings of loneliness."
[0286] 2. The device sends a request to the server.
[0287] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[0288] 4. Emotion analysis is used to analyze the emotion of "lonely"
[0289] 5. Combine the request and emotion and amend it to "A heartwarming novel."
[0290] 6. Obtain relevant book information from the database.
[0291] 7. The recommendation engine selects the best books.
[0292] 8. The response generated is "The book I recommend for you is 'Heartwarming Stories'."
[0293] 9. The server sends the message to the device, which displays it to the user.
[0294] This system allows users to easily find the best book for their emotional state, improving their reading experience.
[0295] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0296] Step 1:
[0297] Request input from the user
[0298] A user uses a terminal to input a book request. For example, the user might input, "I'd like to read a mystery that will cheer me up a little." This input is made via an input device such as a smartphone, tablet, or PC. The input for this process is a text request, and the output is formatted data that is passed on to the next process on the terminal.
[0299] Step 2:
[0300] Submitting a Request
[0301] The terminal converts the request input by the user into an appropriate format (e.g., JSON format). This conversion is performed using an application running on the terminal or a web browser. The formatted request is sent to the server as an HTTP POST request. The input to this process is the text-based request, and the output is the formatted request data sent to the server.
[0302] Step 3:
[0303] Receiving a request
[0304] The server receives the HTTP request sent from the device using a server-side API endpoint. The received data is passed to the next analysis step. The input of this process is the formatted request data, and the output is data ready for request analysis.
[0305] Step 4:
[0306] Request Analysis
[0307] The server uses a request analysis module to analyze the received request. This analysis uses natural language processing (NLP) techniques, specifically libraries such as SpaCy and NLTK. From the request "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted. The input to this process is the prepared request data, and the output is the extracted keyword data.
[0308] Step 5:
[0309] Emotion analysis
[0310] The server launches a sentiment analysis module and analyzes the user's emotional state based on the request text. This analysis uses a generative AI model (e.g., the BERT model). From the request for "a mystery that will cheer me up a little," the emotion "I want to feel better" is identified. The input for this process is the request text data, and the output is the analyzed emotional data.
[0311] Step 6:
[0312] Request Correction
[0313] The server combines the results of the request analysis and the emotion analysis to correct the request information. For example, it adds the emotional element of "it cheers me up a little" and corrects the keyword to "an uplifting mystery." The inputs to this process are keyword data and emotion data, and the output is the corrected request data.
[0314] Step 7:
[0315] Database Access
[0316] The server uses a database access module based on the corrected keywords to send a query to the database. MySQL or PostgreSQL is used as the database. The query searches for book information related to "uplifting" and "mystery." The input to this process is the corrected request data, and the output is the searched book data.
[0317] Step 8:
[0318] Generating Book Recommendations
[0319] The server starts the recommendation engine and analyzes the book list retrieved from the database. It then selects the most suitable book from the retrieved book list. For example, it may select a "highly rated mystery novel that will leave you feeling energized after reading it." The input to this process is the searched book data, and the output is the recommended book data.
[0320] Step 9:
[0321] Response Generation
[0322] The server uses the response generation module to generate a message to the user recommending a book in natural language. For example, it generates a message such as "The book I recommend to you is 'Encouraging Mystery'." The input of this process is the recommended book data, and the output is the generated message data.
[0323] Step 10:
[0324] Sending and viewing recommendations
[0325] The server sends the generated message to the terminal in the form of an HTTP response. The terminal displays the received recommendation results on its user interface. The user can check the information about the recommended books. The input of this process is the generated message data, and the output is the information displayed on the user interface.
[0326] (Application example 2)
[0327] 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."
[0328] Conventional recommendation systems recommend relevant content based on user requests, but because they do not take the user's emotional state into account, they may not be able to provide the content the user truly desires. In the entertainment field in particular, content recommendations tailored to the user's emotions are required, but current systems have not been able to achieve this. Therefore, there is a need for a system that analyzes the user's emotions and provides content based on their emotional state.
[0329] 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.
[0330] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the analyzed request information and the user's emotional state, means for correcting the request information based on the emotion analysis results, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user, thereby enabling optimal content recommendations that reflect the user's emotional state.
[0331] The "means by which a user inputs a request" refers to a device or software that provides an interface for a user to input desired content or conditions.
[0332] The "request analysis means" is a device or software that analyzes a request entered by a user and identifies the user's intentions and wishes.
[0333] "Emotion analysis means" refers to a device or software that identifies the user's emotional state from the input request and corrects the request content based on that emotion.
[0334] The "means for correcting request information based on emotion analysis results" refers to a device or software for appropriately correcting the input request content by reflecting the user's emotional state identified by the emotion analysis means.
[0335] The "means for accessing a database and retrieving related information" refers to a device or software for issuing a search query to a database based on the corrected request information and retrieving related content or information.
[0336] The "recommendation engine means" refers to a device or software that selects and recommends content that best suits the user's request and emotional state based on information obtained from a database.
[0337] The "means for displaying to the user" refers to a display device or software for visually presenting the recommended content or information to the user.
[0338] This invention relates to a content recommendation system based on user emotion analysis. The specific configuration and operation of the system will be described below.
[0339] System configuration
[0340] This system consists of a user terminal, a server, and a database. The user terminal refers to a smartphone, tablet, PC, etc., and provides an interface for users to input requests. The server is responsible for analyzing requests, analyzing emotions, and generating recommendation results. The database stores content information.
[0341] User operations
[0342] The user inputs a request for desired content via the terminal, for example, "I want to relax today, so I want to watch a good romance movie." This request is sent by the terminal to the server.
[0343] Server Processing
[0344] The server executes the process in the following steps:
[0345] 1. Request Analysis
[0346] The server's request analysis means analyzes the user's request using natural language processing (NLP) techniques. For example, it extracts keywords such as "I want to relax" and "romance" from the request.
[0347] 2. Emotion analysis
[0348] The server's sentiment analyzer identifies the user's emotional state from the request text. For example, to analyze the emotion "I want to relax," it uses the sentiment-analysis pipeline from the transformers library.
[0349] 3. Request Correction
[0350] Based on the results of the emotion analysis, the request information is corrected. Specifically, to match the emotion of "wanting to relax," the request is corrected to "comforting" content in the romance genre.
[0351] 4. Database Access
[0352] Based on the corrected request information, the server issues a search query to the database to retrieve relevant information.
[0353] 5. Recommendation Engine
[0354] The recommendation engine means of the server selects the most suitable content from the acquired information, for example, recommending "relaxing romance movies."
[0355] 6. Displaying the results
[0356] The server transmits the generated recommendation results to the terminal, which displays the results on a user interface and provides the user with information about the recommended content.
[0357] Specific examples
[0358] Specifically, the following shows the behavior when the user inputs, "I want to relax today, so I want to watch a good romance movie."
[0359] 1. The user enters a request.
[0360] 2. The device sends a request to the server.
[0361] 3. The server's request analysis method extracts "I want to relax" and "romance."
[0362] 4. The server's emotion analysis means analyzes the emotion "I want to relax."
[0363] 5. Based on the request analysis results and sentiment analysis results, the request is corrected to "a relaxing romance movie."
[0364] 6. Obtain the relevant content information from the database.
[0365] 7. The recommendation engine selects the most suitable content.
[0366] 8. The response generation module generates a message saying, "The movie I recommend for you is 'A relaxing romance movie.'"
[0367] 9. The server sends this message to the terminal, which displays it on its user interface.
[0368] Prompt Sentence Examples
[0369] User-supplied text: I want to relax today and watch a good romance movie.
[0370] In this way, the system can recommend optimal content based on sentiment analysis.
[0371] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0372] Step 1:
[0373] The user inputs a request. Using the device's interface, the user inputs a request that includes a specific wish. For example, the user might input, "I want to relax today, so I'd like to watch a good romance movie." This input is stored in text format on the device.
[0374] Step 2:
[0375] The terminal sends a request to the server. The terminal converts the request entered by the user into an appropriate format and sends it to the server as an HTTP request. The data sent is the user's request text.
[0376] Step 3:
[0377] The server receives the request and analyzes it. The server's request analysis means analyzes the user's request text using natural language processing (NLP) technology and extracts key keywords. For example, the keywords "I want to relax" and "romance" are extracted from the request. The results of this analysis are used as input for the next step.
[0378] Step 4:
[0379] The server analyzes the user's emotions. The server's emotion analysis means identifies the user's emotional state based on the extracted keywords. For example, the sentiment-analysis pipeline in the transformers library identifies the emotion "relaxed" from the request "I want to relax." The results of this emotion analysis are used to correct the request.
[0380] Step 5:
[0381] The server corrects the request information. By combining the results of the emotion analysis and the request analysis, the server corrects the request information. For example, to match the emotion of "I want to relax," the request is corrected to "A relaxing romance movie." This correction result is used for database access.
[0382] Step 6:
[0383] The server accesses the database to retrieve related information. Based on the corrected request information, the server's database access means issues a search query to the database to retrieve related content information. The retrieved data is a list of movies that match the category "comfortable romance movies."
[0384] Step 7:
[0385] The server selects the most suitable content using a recommendation engine. The recommendation engine means of the server analyzes the movie list retrieved from the database and selects the movie that best suits the user's request and emotional state. For example, it selects "relaxing romance movies" taking into account ratings and reviews.
[0386] Step 8:
[0387] The server generates the recommendation results. Based on the recommendation engine's selection results, the server generates a message containing detailed information about the movie recommended to the user. For example, it generates a message saying, "The movie recommended for you is a 'relaxing romance movie.'" This message is sent to the device.
[0388] Step 9:
[0389] The terminal displays the recommendation results to the user. The terminal displays the message received from the server on the user interface, allowing the user to check the information about the recommended movies.
[0390] 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.
[0391] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (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.
[0392] 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.
[0393] [Second embodiment]
[0394] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0395] 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.
[0396] 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).
[0397] 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.
[0398] 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.
[0399] 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).
[0400] 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.
[0401] 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.
[0402] 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.
[0403] 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.
[0404] In the smart glasses 214, 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.
[0405] 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."
[0406] The present invention is implemented to provide a system that appropriately recommends books that a user wants to read. This system has a function of automatically recommending the most suitable books based on a user's request.
[0407] Overview of the Example
[0408] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0409] User operations
[0410] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a quick mystery."
[0411] Terminal handling
[0412] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0413] Server Processing
[0414] The server receives the request sent from the terminal and executes the following processes in order.
[0415] Request Analysis
[0416] The server's request analysis module analyzes the received request. This module uses natural language processing (NLP) to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0417] Database Access
[0418] The server uses the database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery."
[0419] Recommendations
[0420] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best meets the user's request. For example, it might select a "popular mystery novel that is quick to read" from the search results.
[0421] Response Generation
[0422] The server's response generation module generates a message to the user in natural language, based on the results from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0423] Sending a response
[0424] The server sends the generated response message to the terminal, which then displays the received message on the user interface and provides the user with the recommended results.
[0425] Specific examples
[0426] For example, if the user requests "Tell me the latest bestsellers in the US," the process proceeds as follows:
[0427] 1. The user enters a request.
[0428] 2. The device sends a request to the server.
[0429] 3. The server receives the request and extracts "Recent", "USA", and "Best Sellers".
[0430] 4. Obtain the relevant book information from the database.
[0431] 5. The recommendation engine selects the best book.
[0432] 6. The response generation module generates the message, "The best-selling book in America right now is 'a certain book.'"
[0433] 7. The server sends the message to the terminal, which displays it to the user.
[0434] The above is a description of a specific embodiment for carrying out the invention. This system allows users to easily find the books they want to read, improving their reading experience.
[0435] The processing flow will be explained below.
[0436] Step 1:
[0437] A user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that can be read quickly."
[0438] Step 2:
[0439] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0440] Step 3:
[0441] The server receives the request sent from the terminal and passes it to the request analysis module.
[0442] Step 4:
[0443] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read a mystery that can be read quickly," the keywords "quick read" and "mystery" are extracted.
[0444] Step 5:
[0445] The server uses a database access module to query the database based on the analyzed keywords, for example, searching for book information related to "quick read" and "mystery."
[0446] Step 6:
[0447] The server then passes the related book information it has retrieved from the database to the recommendation engine, which then applies an algorithm to make optimal recommendations and identifies the book that best suits the user's request.
[0448] Step 7:
[0449] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Sakura.'"
[0450] Step 8:
[0451] The server sends the generated response message to the terminal in the form of an HTTP response.
[0452] Step 9:
[0453] The terminal displays the response received from the server on the user interface, allowing the user to check information about the recommended books.
[0454] These are the specific processing steps from request to display of recommendation results. By executing each step in sequence, it is possible to quickly recommend the most suitable book to the user.
[0455] Example 1
[0456] 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."
[0457] Conventional book recommendation systems often lack the ability to accurately respond to user requests, and it is particularly difficult to properly analyze requests entered in natural language and recommend books that match the user's intent. Furthermore, the display of recommended book information is sometimes not quick and intuitive, making it difficult for users to obtain a satisfying reading experience.
[0458] 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.
[0459] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, means for accessing a database based on the analyzed request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, means for transmitting a generated response to a terminal for display to the user, and means for displaying the response received by the terminal on a user interface. This makes it possible to quickly and accurately recommend books based on the user's natural language request, thereby improving the user's reading experience.
[0460] The "means for users to input requests" refers to a device or software that provides an interface that allows users to freely input information about books they want to read and their wishes.
[0461] The "request analysis means" refers to a module or algorithm used to analyze an input request and understand the user's intentions and needs.
[0462] "Means for accessing a database and retrieving related information" refers to a system or software for searching for and retrieving related data such as book information based on the analyzed request.
[0463] The "recommendation engine means" refers to an algorithm or module that selects and recommends books that best suit the user's needs based on the acquired data.
[0464] The "means for transmitting the generated response to the terminal for display to the user" refers to a communication means for quickly delivering the response message generated by the server to the user's terminal.
[0465] The "means for displaying the response received by the terminal on the user interface" refers to a mechanism for visually or audibly presenting the message received by the terminal to the user using a screen or other output device.
[0466] The present invention relates to a system that appropriately recommends books that users want to read. This system has the function of automatically recommending the most suitable books based on user requests. The operation of this system will be explained below from the perspectives of the user, the terminal, and the server.
[0467] User operations
[0468] Users can use their smartphones, tablets, or PCs to input requests for books they want to read. Specifically, users can input requests in free text format, such as "I want to read a quick mystery."
[0469] Terminal handling
[0470] The terminal receives a request input by a user. After receiving the request, the terminal converts the request into an appropriate format (e.g., JSON format) and sends it to the server as an HTTP request.
[0471] Server Processing
[0472] The server receives the HTTP request sent from the terminal. After receiving the request, the server executes the following processes in order.
[0473] Request Analysis
[0474] The server's request analysis module analyzes the request. This module uses natural language processing (NLP) technology to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0475] Database Access
[0476] The server uses a database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery." Specifically, it accesses the database using a query language such as SQL to retrieve related book information.
[0477] Recommendations
[0478] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best suits the user's request. For example, it may select "highly rated mystery novels with short reading times" from the search results. The engine selects books using machine learning models and collaborative filtering algorithms.
[0479] Response Generation
[0480] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results obtained from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0481] Sending and displaying the response
[0482] The server generates a response message and sends it to the terminal, which then displays it on its user interface, allowing the user to view the recommended books.
[0483] Specific examples
[0484] For example, if a user makes a request such as "Tell me the latest bestsellers in the US," the process proceeds as follows: The user inputs a request, and the device sends it to the server. The server receives the request and extracts "recent," "USA," and "bestsellers." It retrieves relevant book information from the database and selects the most suitable book using the recommendation engine. The response generation module generates a message saying, "The best-selling book in the US right now is 'A Certain Book,'" and the server sends the message to the device. The device displays this to the user, allowing them to check the recommended bestsellers.
[0485] This system will enable users to easily find the books they want to read, which will surely improve their reading experience.
[0486] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0487] Step 1:
[0488] The user inputs a request using a device (such as a smartphone, tablet, or PC). The input is in the form of free text, such as "I want to read a quick mystery," and is input data to the system. Specific actions include the user typing the desired conditions into a text input field.
[0489] Step 2:
[0490] The terminal receives a request entered by the user. After receiving the request, it converts it into an appropriate data format, such as JSON. This conversion is part of data processing and is preprocessing for sending it to the server as an HTTP request. The output from the terminal is the converted request data in JSON format.
[0491] Step 3:
[0492] The server receives an HTTP request sent from a terminal. Based on the input data of the received request, the request is analyzed using a request analysis module. This analysis uses natural language processing (NLP) technology to extract the important keywords "quick read" and "mystery" from the request "I want to read a mystery that's easy to read." The input data for this process is a series of text data, and the output data is the extracted keywords.
[0493] Step 4:
[0494] The server uses the database access module based on the analyzed keywords to issue a query to the database. This query calculation and processing involves calculating and processing data in the database, and specifically generates an SQL query such as "SELECT FROM books WHERE genre='mystery' AND reading_time <= 'short'". The input data is the keywords, and the output data is the retrieved book information.
[0495] Step 5:
[0496] The server's recommendation engine analyzes book information retrieved from the database and selects the book that best suits the user's request. This process uses machine learning models and collaborative filtering algorithms. Specifically, it narrows down the results to highly rated mystery novels, etc. The input data is book information, and the output data is the selected book information.
[0497] Step 6:
[0498] The server's response generation module generates a message recommending a book to the user based on the book information selected by the recommendation engine. As a specific example, a message is created that reads, "The book we recommend for you is 'Spring Without Cherry Blossoms.'" This generation is the process of converting output data into a natural language format, with the input data being the selected book information and the output data being the generated message.
[0499] Step 7:
[0500] The server sends the generated response message to the terminal as an HTTP response. The input data is the generated message, and the output data is the HTTP response.
[0501] Step 8:
[0502] The terminal analyzes the HTTP response received from the server and extracts the message. This message is displayed on the user interface. Specifically, the message "The book recommended for you is 'Spring Without Cherry Blossoms'" is displayed on the screen. The input data in this step is the HTTP response, and the output data is the message to be displayed to the user.
[0503] The above is the specific processing flow of this system.
[0504] (Application example 1)
[0505] 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."
[0506] In conventional book recommendation systems, users typically input their requests online and receive recommendations online. However, this method does not provide the same convenience as purchasing books in the real world, and there is a problem in that it is time-consuming to locate recommended books when searching for books in a bookstore. Furthermore, there is a need to improve the user purchasing experience by introducing automated recommendation systems into physical stores.
[0507] 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.
[0508] In this invention, the server includes a means for a user to input a request, a request analysis means for analyzing the request, a means for accessing a database based on the analyzed request information to obtain related information, a recommendation engine means for making optimal recommendations based on the obtained information, a means for providing the recommendation results to the user, and a means for displaying location information of real-world items. This allows users to easily find books they want to read in a physical store, significantly improving the purchasing experience.
[0509] The "means for inputting a request" refers to a device that allows a user to input information about a desired book by voice or text, specifically an input device such as a smartphone, tablet, PC, or smart glasses.
[0510] The "request analysis means" is a technology that analyzes requests entered by users and extracts their intentions and keywords, and is a technology that uses natural language processing (NLP).
[0511] "Means of accessing a database to obtain related information" refers to a means of searching for and obtaining related information by sending a query to a database containing relevant book information based on the analyzed keywords.
[0512] A "recommendation engine means" is an algorithm or system that selects and recommends books that best fit a user's request based on the acquired information.
[0513] The "means of providing to the user" refers to the means of conveying the recommendation results to the user by voice or text, and displaying them on the display of a smart device, etc.
[0514] "Means for displaying real-world item location information" refers to means that use displays or AR technology to visually provide users with the specific shelf location or location of recommended books in a real store.
[0515] The present invention provides a system that allows users to easily find books they want to read in physical stores. The main components of this system are a user-held input device, a voice recognition function, natural language processing (NLP), database access, a recommendation engine, and a display means that provides real-world item location information.
[0516] Specific embodiments of the present invention will be described below.
[0517] User operations
[0518] A user can voice-input requests for books they want to read via an input device such as smart glasses, for example, "Tell me about recent business books."
[0519] Terminal handling
[0520] The device receives the voice request, converts it into text data using speech recognition software (e.g., Google Speech Recognition API), and then converts the converted request into a format appropriate for sending to the server, sending it as an HTTP request to the server.
[0521] Server Processing
[0522] The server processes the request received from the terminal, specifically including the following steps:
[0523] Request Analysis
[0524] The server's request analysis module uses natural language processing (NLP) to analyze the intent of the request and extract important keywords. For example, from a voice request such as "Tell me about recent business books," the keywords "recent" and "business books" are extracted.
[0525] Database Access
[0526] The server queries the database using the analyzed keywords to retrieve relevant book information, including the book title, author, rating, and reading time.
[0527] Recommendations
[0528] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. For example, in response to a request for "recent business books," the book "Refresher on Business Basics" will be recommended.
[0529] Generating and displaying recommendations
[0530] After the final recommendation is determined, the server generates a natural-sounding message and presents it to the user. For example, it generates a message like, "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0531] Presentation of results
[0532] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display, allowing the user to visually check the shelf location of the recommended book in the bookstore and easily find the desired book.
[0533] Specific examples
[0534] For example, if a user requests "Tell me about recent business books," the results would be as follows:
[0535] 1. User voice input: Tell me about recent business books
[0536] 2. Keywords analyzed: recent, business books
[0537] 3. Recommended Book: Relearning Business Basics
[0538] 4. Shelf position: 3A
[0539] 5. Message: The recommended book is "Business Basics Refresher." It's on shelf 3A.
[0540] This will enable users to easily find the books they want in physical stores, and is expected to improve their purchasing experience.
[0541] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0542] Step 1:
[0543] The user inputs a request for a desired book by voice through the smart glasses. Specifically, the input is voice data such as "Tell me about recent business books." This request is captured as voice through the microphone of the smart glasses.
[0544] Step 2:
[0545] The device receives the voice request and converts it into text data using speech recognition software (e.g., Google speech recognition API). The input is voice data, and the output is text data such as "Tell me about recent business books." The converted text data is then converted into a format that can be sent to the server.
[0546] Step 3:
[0547] The terminal sends the converted text data to the server. At this time, the text data is formatted as an HTTP request and sent to the server. The input is text data, and the output is data in HTTP request format. The server receives this.
[0548] Step 4:
[0549] The server's request analysis module analyzes the received request. It uses natural language processing (NLP) to understand the intent of the request and extract important keywords. The input is text data such as "Tell me about recent business books," and the output is keyword data such as "recent" and "business books."
[0550] Step 5:
[0551] The server uses the analyzed keywords to query the database using a database access module. The input is keyword data, and the output is a list of related book information. Specifically, this includes "Relearning Business Basics."
[0552] Step 6:
[0553] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. The input is a list of book information, and the output is the recommended book information. For example, "Relearning Business Fundamentals" is selected.
[0554] Step 7:
[0555] The server's response generation module generates a recommendation result for the user in natural sentences based on the recommended book information. The input is the recommended book information, and the output is text data such as "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0556] Step 8:
[0557] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display. The input is text data, and the output is display information that the user can visually confirm. Based on this information, the user can easily check the shelf location of the recommended book in the bookstore.
[0558] 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.
[0559] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books.
[0560] Overview of the Example
[0561] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0562] User operations
[0563] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a mystery that will cheer me up a little."
[0564] Terminal handling
[0565] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0566] Server Processing
[0567] The server receives the request sent from the terminal and executes the following processes in order.
[0568] Request Analysis
[0569] The server's request analysis module analyzes the received request using natural language processing (NLP). For example, from a request such as "I want to read a mystery that will cheer me up a little," it extracts the keywords "that will cheer me up a little" and "mystery."
[0570] Emotion analysis
[0571] The server's emotion engine analyzes the user's emotion based on the request text. As a result of the analysis, it identifies the user's current emotional state from the request. For example, it recognizes the emotion "I want to feel better" from the user's request.
[0572] Emotion and Request Correction
[0573] The request information is corrected by combining the results of request analysis and sentiment analysis. For example, the request information is corrected to a keyword that incorporates the emotional element of "feeling a little better" as "an uplifting mystery."
[0574] Database Access
[0575] The server uses the database access module to query the database based on the corrected keywords. This query searches for book information related to "uplifting" and "mystery."
[0576] Recommendations
[0577] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best matches the user's request and emotions. For example, it might select from the search results a "highly rated mystery novel that will leave you feeling energized after reading it."
[0578] Response Generation
[0579] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results from the recommendation engine. For example, it generates a message such as "The book I recommend for you is 'An Uplifting Mystery'."
[0580] Sending a response
[0581] The server sends the generated response message to the terminal, in the form of an HTTP response.
[0582] Display in the user interface
[0583] The device displays the received recommendation results on the user interface, allowing the user to check information about the recommended books.
[0584] Specific examples
[0585] For example, if the user requests "I want to read a novel that will ease my feelings of loneliness," the process proceeds as follows:
[0586] 1. The user enters a request.
[0587] 2. The device sends a request to the server.
[0588] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[0589] 4. The emotion engine analyzes the emotion of "lonely" and
[0590] 5. Based on the request analysis results, correct it to "a heartwarming novel."
[0591] 6. Obtain the relevant book information from the database.
[0592] 7. The recommendation engine selects the best book.
[0593] 8. The response generation module generates a message saying, "The book I recommend for you is 'Heartwarming Stories'."
[0594] 9. The server sends the message to the terminal, which displays it to the user.
[0595] This concludes the description of the specific embodiment for carrying out the invention. This system allows users to easily find the most suitable book for their emotional state, further improving their reading experience.
[0596] The processing flow will be explained below.
[0597] Step 1:
[0598] The user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that will cheer me up."
[0599] Step 2:
[0600] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0601] Step 3:
[0602] The server receives the request sent from the terminal and passes the data to the request analysis module.
[0603] Step 4:
[0604] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read an uplifting mystery," it extracts the keywords "uplifting" and "mystery."
[0605] Step 5:
[0606] The server calls the emotion engine and analyzes the user's emotions using the extracted keywords. For example, the phrase "I can feel better" identifies the user's current desire for energy.
[0607] Step 6:
[0608] The results of the emotion analysis and the request analysis are combined to correct the request information. For example, taking into account the desire to feel cheerful, the request can be corrected to something like "a mystery that will lift your spirits."
[0609] Step 7:
[0610] The server runs a database access module to access a database based on the corrected request information, for example, to search for book information related to "spirit-boosting mysteries."
[0611] Step 8:
[0612] The server sends the related book information retrieved from the database to the recommendation engine, which selects the book that best suits the user's request and emotional state.
[0613] Step 9:
[0614] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Heartwarming Mystery.'"
[0615] Step 10:
[0616] The server generates a response message and sends it to the terminal. The message is sent in HTTP response format.
[0617] Step 11:
[0618] The terminal displays the response received from the server on the user interface, allowing the user to check the information about the recommended books.
[0619] These are the specific processing steps in a system that combines an emotion engine. By executing each step in sequence, it becomes possible to recommend the most suitable book based on the user's emotional state.
[0620] Example 2
[0621] 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."
[0622] Conventional book recommendation systems lack the functionality to consider the user's emotional state when recommending books based on user requests, which means they are unable to recommend books that are appropriate for the user's emotions. Furthermore, the recommendations tend to be mechanical and unnatural, which means they are unable to sufficiently improve user satisfaction.
[0623] 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.
[0624] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the user's emotional state based on the request, means for correcting the request based on the analyzed request information and emotion information, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user. This enables appropriate book recommendations that are in line with the user's emotions, and the recommended results are provided to the user in natural, easy-to-understand sentences, thereby improving user satisfaction.
[0625] The "means for users to input requests" refers to an interface that allows users to use a terminal to input requests for books they wish to read in text, audio, or other formats.
[0626] The "request analysis means" is a function for analyzing requests received from users using natural language processing technology and extracting key keywords and phrases.
[0627] "Emotion analysis means" is a function for analyzing a user's emotional state based on the request text from the user, using a generative AI model, etc.
[0628] The "means for correcting requests" is a function for combining the results of request analysis and emotion analysis to optimize request information based on the user's intentions and emotional state.
[0629] "Means of accessing the database and obtaining related information" refers to a function that sends a query to the database based on the corrected request information to search for and obtain the relevant book information.
[0630] The "recommendation engine means" is an engine for selecting books that best suit the user's requests and emotions based on book information obtained from the database.
[0631] The "means for displaying to the user" is a function for generating optimal book recommendation results in natural sentences and visually displaying them to the user via a user interface.
[0632] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books. A specific implementation method of this system is described below.
[0633] Specific implementation methods
[0634] 1. User request input
[0635] Users input their requests for books they want to read in text format using devices such as smartphones, tablets, and PCs. For example, they might input, "I'd like to read a mystery that will cheer me up a little." The input interface is a web browser or dedicated application software.
[0636] 2. Submitting a Request
[0637] The terminal receives the request entered by the user and converts it into the appropriate format: it converts the entered text into JSON format and sends it to the server as an HTTP POST request.
[0638] 3. Processing on the Server
[0639] The server performs the following processes in sequence.
[0640] a. Request Analysis
[0641] The server analyzes the received request using a request analysis method. This analysis uses natural language processing (NLP) technology. Specific libraries used are SpaCy and NLTK. From a request such as "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted.
[0642] b. Emotion analysis
[0643] The server uses a sentiment analysis tool to analyze the user's emotional state from the request text. This analysis uses a generative AI model (for example, the BERT model based on the Transformers library). From the prompt, the server identifies the sentiment "I want to feel better."
[0644] c. Request Amendment
[0645] The server combines the results of the request analysis and the sentiment analysis to correct the request information. For example, taking into account the emotional element of "it makes me feel a little better," the server corrects the request information to the keyword "a mystery that lifts my spirits."
[0646] d. Database Access
[0647] The server then sends a query to the database based on the corrected keywords. The database system used is MySQL or PostgreSQL. The query searches for books related to "uplifting" and "mystery."
[0648] e. Recommendation generation
[0649] The server's recommendation engine analyzes the book information retrieved from the database and selects the book that best suits the user's request and emotions. For example, it might select a highly rated mystery novel that will leave you feeling energized after reading it.
[0650] f. Response Generation
[0651] The server's response generation means generates a message to the user in natural language based on the recommendation engine's results, recommending books. For example, it could generate a message like, "The book I recommend for you is 'An uplifting mystery.'"
[0652] 4. Sending and displaying recommendation results
[0653] The server sends the generated message in the form of an HTTP response to the terminal, which then displays the received recommendation results on a user interface, allowing the user to check information about the recommended books.
[0654] As a specific example, if a user requests "I want to read a novel that will ease my feelings of loneliness," the following processing will be performed.
[0655] 1. The user types, "I want to read a novel that will ease my feelings of loneliness."
[0656] 2. The device sends a request to the server.
[0657] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[0658] 4. Emotion analysis is used to analyze the emotion of "lonely"
[0659] 5. Combine the request and emotion and amend it to "A heartwarming novel."
[0660] 6. Obtain relevant book information from the database.
[0661] 7. The recommendation engine selects the best books.
[0662] 8. The response generated is "The book I recommend for you is 'Heartwarming Stories'."
[0663] 9. The server sends the message to the device, which displays it to the user.
[0664] This system allows users to easily find the best book for their emotional state, improving their reading experience.
[0665] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0666] Step 1:
[0667] Request input from the user
[0668] A user uses a terminal to input a book request. For example, the user might input, "I'd like to read a mystery that will cheer me up a little." This input is made via an input device such as a smartphone, tablet, or PC. The input for this process is a text request, and the output is formatted data that is passed on to the next process on the terminal.
[0669] Step 2:
[0670] Submitting a Request
[0671] The terminal converts the request input by the user into an appropriate format (e.g., JSON format). This conversion is performed using an application running on the terminal or a web browser. The formatted request is sent to the server as an HTTP POST request. The input to this process is the text-based request, and the output is the formatted request data sent to the server.
[0672] Step 3:
[0673] Receiving a request
[0674] The server receives the HTTP request sent from the device using a server-side API endpoint. The received data is passed to the next analysis step. The input of this process is the formatted request data, and the output is data ready for request analysis.
[0675] Step 4:
[0676] Request Analysis
[0677] The server uses a request analysis module to analyze the received request. This analysis uses natural language processing (NLP) techniques, specifically libraries such as SpaCy and NLTK. From the request "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted. The input to this process is the prepared request data, and the output is the extracted keyword data.
[0678] Step 5:
[0679] Emotion analysis
[0680] The server launches a sentiment analysis module and analyzes the user's emotional state based on the request text. This analysis uses a generative AI model (e.g., the BERT model). From the request for "a mystery that will cheer me up a little," the emotion "I want to feel better" is identified. The input for this process is the request text data, and the output is the analyzed emotional data.
[0681] Step 6:
[0682] Request Correction
[0683] The server combines the results of the request analysis and the emotion analysis to correct the request information. For example, it adds the emotional element of "it cheers me up a little" and corrects the keyword to "an uplifting mystery." The inputs to this process are keyword data and emotion data, and the output is the corrected request data.
[0684] Step 7:
[0685] Database Access
[0686] The server uses a database access module based on the corrected keywords to send a query to the database. MySQL or PostgreSQL is used as the database. The query searches for book information related to "uplifting" and "mystery." The input to this process is the corrected request data, and the output is the searched book data.
[0687] Step 8:
[0688] Generating Book Recommendations
[0689] The server starts the recommendation engine and analyzes the book list retrieved from the database. It then selects the most suitable book from the retrieved book list. For example, it may select a "highly rated mystery novel that will leave you feeling energized after reading it." The input to this process is the searched book data, and the output is the recommended book data.
[0690] Step 9:
[0691] Response Generation
[0692] The server uses the response generation module to generate a message to the user recommending a book in natural language. For example, it generates a message such as "The book I recommend to you is 'Encouraging Mystery'." The input of this process is the recommended book data, and the output is the generated message data.
[0693] Step 10:
[0694] Sending and viewing recommendations
[0695] The server sends the generated message to the terminal in the form of an HTTP response. The terminal displays the received recommendation results on its user interface. The user can check the information about the recommended books. The input of this process is the generated message data, and the output is the information displayed on the user interface.
[0696] (Application example 2)
[0697] 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."
[0698] Conventional recommendation systems recommend relevant content based on user requests, but because they do not take the user's emotional state into account, they may not be able to provide the content the user truly desires. In the entertainment field in particular, content recommendations tailored to the user's emotions are required, but current systems have not been able to achieve this. Therefore, there is a need for a system that analyzes the user's emotions and provides content based on their emotional state.
[0699] 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.
[0700] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the analyzed request information and the user's emotional state, means for correcting the request information based on the emotion analysis results, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user, thereby enabling optimal content recommendations that reflect the user's emotional state.
[0701] The "means by which a user inputs a request" refers to a device or software that provides an interface for a user to input desired content or conditions.
[0702] The "request analysis means" is a device or software that analyzes a request entered by a user and identifies the user's intentions and wishes.
[0703] "Emotion analysis means" refers to a device or software that identifies the user's emotional state from the input request and corrects the request content based on that emotion.
[0704] The "means for correcting request information based on emotion analysis results" refers to a device or software for appropriately correcting the input request content by reflecting the user's emotional state identified by the emotion analysis means.
[0705] The "means for accessing a database and retrieving related information" refers to a device or software for issuing a search query to a database based on the corrected request information and retrieving related content or information.
[0706] The "recommendation engine means" refers to a device or software that selects and recommends content that best suits the user's request and emotional state based on information obtained from a database.
[0707] The "means for displaying to the user" refers to a display device or software for visually presenting the recommended content or information to the user.
[0708] This invention relates to a content recommendation system based on user emotion analysis. The specific configuration and operation of the system will be described below.
[0709] System configuration
[0710] This system consists of a user terminal, a server, and a database. The user terminal refers to a smartphone, tablet, PC, etc., and provides an interface for users to input requests. The server is responsible for analyzing requests, analyzing emotions, and generating recommendation results. The database stores content information.
[0711] User operations
[0712] The user inputs a request for desired content via the terminal, for example, "I want to relax today, so I want to watch a good romance movie." This request is sent by the terminal to the server.
[0713] Server Processing
[0714] The server executes the process in the following steps:
[0715] 1. Request Analysis
[0716] The server's request analysis means analyzes the user's request using natural language processing (NLP) techniques. For example, it extracts keywords such as "I want to relax" and "romance" from the request.
[0717] 2. Emotion analysis
[0718] The server's sentiment analyzer identifies the user's emotional state from the request text. For example, to analyze the emotion "I want to relax," it uses the sentiment-analysis pipeline from the transformers library.
[0719] 3. Request Correction
[0720] Based on the results of the emotion analysis, the request information is corrected. Specifically, to match the emotion of "wanting to relax," the request is corrected to "comforting" content in the romance genre.
[0721] 4. Database Access
[0722] Based on the corrected request information, the server issues a search query to the database to retrieve relevant information.
[0723] 5. Recommendation Engine
[0724] The recommendation engine means of the server selects the most suitable content from the acquired information, for example, recommending "relaxing romance movies."
[0725] 6. Displaying the results
[0726] The server transmits the generated recommendation results to the terminal, which displays the results on a user interface and provides the user with information about the recommended content.
[0727] Specific examples
[0728] Specifically, the following shows the behavior when the user inputs, "I want to relax today, so I want to watch a good romance movie."
[0729] 1. The user enters a request.
[0730] 2. The device sends a request to the server.
[0731] 3. The server's request analysis method extracts "I want to relax" and "romance."
[0732] 4. The server's emotion analysis means analyzes the emotion "I want to relax."
[0733] 5. Based on the request analysis results and sentiment analysis results, the request is corrected to "a relaxing romance movie."
[0734] 6. Obtain the relevant content information from the database.
[0735] 7. The recommendation engine selects the most suitable content.
[0736] 8. The response generation module generates a message saying, "The movie I recommend for you is 'A relaxing romance movie.'"
[0737] 9. The server sends this message to the terminal, which displays it on its user interface.
[0738] Prompt Sentence Examples
[0739] User-supplied text: I want to relax today and watch a good romance movie.
[0740] In this way, the system can recommend optimal content based on sentiment analysis.
[0741] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0742] Step 1:
[0743] The user inputs a request. Using the device's interface, the user inputs a request that includes a specific wish. For example, the user might input, "I want to relax today, so I'd like to watch a good romance movie." This input is stored in text format on the device.
[0744] Step 2:
[0745] The terminal sends a request to the server. The terminal converts the request entered by the user into an appropriate format and sends it to the server as an HTTP request. The data sent is the user's request text.
[0746] Step 3:
[0747] The server receives the request and analyzes it. The server's request analysis means analyzes the user's request text using natural language processing (NLP) technology and extracts key keywords. For example, the keywords "I want to relax" and "romance" are extracted from the request. The results of this analysis are used as input for the next step.
[0748] Step 4:
[0749] The server analyzes the user's emotions. The server's emotion analysis means identifies the user's emotional state based on the extracted keywords. For example, the sentiment-analysis pipeline in the transformers library identifies the emotion "relaxed" from the request "I want to relax." The results of this emotion analysis are used to correct the request.
[0750] Step 5:
[0751] The server corrects the request information. By combining the results of the emotion analysis and the request analysis, the server corrects the request information. For example, to match the emotion of "I want to relax," the request is corrected to "A relaxing romance movie." This correction result is used for database access.
[0752] Step 6:
[0753] The server accesses the database to retrieve related information. Based on the corrected request information, the server's database access means issues a search query to the database to retrieve related content information. The retrieved data is a list of movies that match the category "comfortable romance movies."
[0754] Step 7:
[0755] The server selects the most suitable content using a recommendation engine. The recommendation engine means of the server analyzes the movie list retrieved from the database and selects the movie that best suits the user's request and emotional state. For example, it selects "relaxing romance movies" taking into account ratings and reviews.
[0756] Step 8:
[0757] The server generates the recommendation results. Based on the recommendation engine's selection results, the server generates a message containing detailed information about the movie recommended to the user. For example, it generates a message saying, "The movie recommended for you is a 'relaxing romance movie.'" This message is sent to the device.
[0758] Step 9:
[0759] The terminal displays the recommendation results to the user. The terminal displays the message received from the server on the user interface, allowing the user to check the information about the recommended movies.
[0760] 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.
[0761] 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.
[0762] 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.
[0763] [Third embodiment]
[0764] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0765] 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.
[0766] 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).
[0767] 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.
[0768] 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.
[0769] 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).
[0770] 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.
[0771] 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.
[0772] 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.
[0773] 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.
[0774] 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.
[0775] 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."
[0776] The present invention is implemented to provide a system that appropriately recommends books that a user wants to read. This system has a function of automatically recommending the most suitable books based on a user's request.
[0777] Overview of the Example
[0778] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0779] User operations
[0780] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a quick mystery."
[0781] Terminal handling
[0782] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0783] Server Processing
[0784] The server receives the request sent from the terminal and executes the following processes in order.
[0785] Request Analysis
[0786] The server's request analysis module analyzes the received request. This module uses natural language processing (NLP) to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0787] Database Access
[0788] The server uses the database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery."
[0789] Recommendations
[0790] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best meets the user's request. For example, it might select a "popular mystery novel that is quick to read" from the search results.
[0791] Response Generation
[0792] The server's response generation module generates a message to the user in natural language, based on the results from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0793] Sending a response
[0794] The server sends the generated response message to the terminal, which then displays the received message on the user interface and provides the user with the recommended results.
[0795] Specific examples
[0796] For example, if the user requests "Tell me the latest bestsellers in the US," the process proceeds as follows:
[0797] 1. The user enters a request.
[0798] 2. The device sends a request to the server.
[0799] 3. The server receives the request and extracts "Recent", "USA", and "Best Sellers".
[0800] 4. Obtain the relevant book information from the database.
[0801] 5. The recommendation engine selects the best book.
[0802] 6. The response generation module generates the message, "The best-selling book in America right now is 'a certain book.'"
[0803] 7. The server sends the message to the terminal, which displays it to the user.
[0804] The above is a description of a specific embodiment for carrying out the invention. This system allows users to easily find the books they want to read, improving their reading experience.
[0805] The processing flow will be explained below.
[0806] Step 1:
[0807] A user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that can be read quickly."
[0808] Step 2:
[0809] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0810] Step 3:
[0811] The server receives the request sent from the terminal and passes it to the request analysis module.
[0812] Step 4:
[0813] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read a mystery that can be read quickly," the keywords "quick read" and "mystery" are extracted.
[0814] Step 5:
[0815] The server uses a database access module to query the database based on the analyzed keywords, for example, searching for book information related to "quick read" and "mystery."
[0816] Step 6:
[0817] The server then passes the related book information it has retrieved from the database to the recommendation engine, which then applies an algorithm to make optimal recommendations and identifies the book that best suits the user's request.
[0818] Step 7:
[0819] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Sakura.'"
[0820] Step 8:
[0821] The server sends the generated response message to the terminal in the form of an HTTP response.
[0822] Step 9:
[0823] The terminal displays the response received from the server on the user interface, allowing the user to check information about the recommended books.
[0824] These are the specific processing steps from request to display of recommendation results. By executing each step in sequence, it is possible to quickly recommend the most suitable book to the user.
[0825] Example 1
[0826] 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."
[0827] Conventional book recommendation systems often lack the ability to accurately respond to user requests, and it is particularly difficult to properly analyze requests entered in natural language and recommend books that match the user's intent. Furthermore, the display of recommended book information is sometimes not quick and intuitive, making it difficult for users to obtain a satisfying reading experience.
[0828] 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.
[0829] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, means for accessing a database based on the analyzed request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, means for transmitting a generated response to a terminal for display to the user, and means for displaying the response received by the terminal on a user interface. This makes it possible to quickly and accurately recommend books based on the user's natural language request, thereby improving the user's reading experience.
[0830] The "means for users to input requests" refers to a device or software that provides an interface that allows users to freely input information about books they want to read and their wishes.
[0831] The "request analysis means" refers to a module or algorithm used to analyze an input request and understand the user's intentions and needs.
[0832] "Means for accessing a database and retrieving related information" refers to a system or software for searching for and retrieving related data such as book information based on the analyzed request.
[0833] The "recommendation engine means" refers to an algorithm or module that selects and recommends books that best suit the user's needs based on the acquired data.
[0834] The "means for transmitting the generated response to the terminal for display to the user" refers to a communication means for quickly delivering the response message generated by the server to the user's terminal.
[0835] The "means for displaying the response received by the terminal on the user interface" refers to a mechanism for visually or audibly presenting the message received by the terminal to the user using a screen or other output device.
[0836] The present invention relates to a system that appropriately recommends books that users want to read. This system has the function of automatically recommending the most suitable books based on user requests. The operation of this system will be explained below from the perspectives of the user, the terminal, and the server.
[0837] User operations
[0838] Users can use their smartphones, tablets, or PCs to input requests for books they want to read. Specifically, users can input requests in free text format, such as "I want to read a quick mystery."
[0839] Terminal handling
[0840] The terminal receives a request input by a user. After receiving the request, the terminal converts the request into an appropriate format (e.g., JSON format) and sends it to the server as an HTTP request.
[0841] Server Processing
[0842] The server receives the HTTP request sent from the terminal. After receiving the request, the server executes the following processes in order.
[0843] Request Analysis
[0844] The server's request analysis module analyzes the request. This module uses natural language processing (NLP) technology to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[0845] Database Access
[0846] The server uses a database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery." Specifically, it accesses the database using a query language such as SQL to retrieve related book information.
[0847] Recommendations
[0848] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best suits the user's request. For example, it may select "highly rated mystery novels with short reading times" from the search results. The engine selects books using machine learning models and collaborative filtering algorithms.
[0849] Response Generation
[0850] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results obtained from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[0851] Sending and displaying the response
[0852] The server generates a response message and sends it to the terminal, which then displays it on its user interface, allowing the user to view the recommended books.
[0853] Specific examples
[0854] For example, if a user makes a request such as "Tell me the latest bestsellers in the US," the process proceeds as follows: The user inputs a request, and the device sends it to the server. The server receives the request and extracts "recent," "USA," and "bestsellers." It retrieves relevant book information from the database and selects the most suitable book using the recommendation engine. The response generation module generates a message saying, "The best-selling book in the US right now is 'A Certain Book,'" and the server sends the message to the device. The device displays this to the user, allowing them to check the recommended bestsellers.
[0855] This system will enable users to easily find the books they want to read, which will surely improve their reading experience.
[0856] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0857] Step 1:
[0858] The user inputs a request using a device (such as a smartphone, tablet, or PC). The input is in the form of free text, such as "I want to read a quick mystery," and is input data to the system. Specific actions include the user typing the desired conditions into a text input field.
[0859] Step 2:
[0860] The terminal receives a request entered by the user. After receiving the request, it converts it into an appropriate data format, such as JSON. This conversion is part of data processing and is preprocessing for sending it to the server as an HTTP request. The output from the terminal is the converted request data in JSON format.
[0861] Step 3:
[0862] The server receives an HTTP request sent from a terminal. Based on the input data of the received request, the request is analyzed using a request analysis module. This analysis uses natural language processing (NLP) technology to extract the important keywords "quick read" and "mystery" from the request "I want to read a mystery that's easy to read." The input data for this process is a series of text data, and the output data is the extracted keywords.
[0863] Step 4:
[0864] The server uses the database access module based on the analyzed keywords to issue a query to the database. This query calculation and processing involves calculating and processing data in the database, and specifically generates an SQL query such as "SELECT FROM books WHERE genre='mystery' AND reading_time <= 'short'". The input data is the keywords, and the output data is the retrieved book information.
[0865] Step 5:
[0866] The server's recommendation engine analyzes book information retrieved from the database and selects the book that best suits the user's request. This process uses machine learning models and collaborative filtering algorithms. Specifically, it narrows down the results to highly rated mystery novels, etc. The input data is book information, and the output data is the selected book information.
[0867] Step 6:
[0868] The server's response generation module generates a message recommending a book to the user based on the book information selected by the recommendation engine. As a specific example, a message is created that reads, "The book we recommend for you is 'Spring Without Cherry Blossoms.'" This generation is the process of converting output data into a natural language format, with the input data being the selected book information and the output data being the generated message.
[0869] Step 7:
[0870] The server sends the generated response message to the terminal as an HTTP response. The input data is the generated message, and the output data is the HTTP response.
[0871] Step 8:
[0872] The terminal analyzes the HTTP response received from the server and extracts the message. This message is displayed on the user interface. Specifically, the message "The book recommended for you is 'Spring Without Cherry Blossoms'" is displayed on the screen. The input data in this step is the HTTP response, and the output data is the message to be displayed to the user.
[0873] The above is the specific processing flow of this system.
[0874] (Application example 1)
[0875] 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."
[0876] In conventional book recommendation systems, users typically input their requests online and receive recommendations online. However, this method does not provide the same convenience as purchasing books in the real world, and there is a problem in that it is time-consuming to locate recommended books when searching for books in a bookstore. Furthermore, there is a need to improve the user purchasing experience by introducing automated recommendation systems into physical stores.
[0877] 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.
[0878] In this invention, the server includes a means for a user to input a request, a request analysis means for analyzing the request, a means for accessing a database based on the analyzed request information to obtain related information, a recommendation engine means for making optimal recommendations based on the obtained information, a means for providing the recommendation results to the user, and a means for displaying location information of real-world items. This allows users to easily find books they want to read in a physical store, significantly improving the purchasing experience.
[0879] The "means for inputting a request" refers to a device that allows a user to input information about a desired book by voice or text, specifically an input device such as a smartphone, tablet, PC, or smart glasses.
[0880] The "request analysis means" is a technology that analyzes requests entered by users and extracts their intentions and keywords, and is a technology that uses natural language processing (NLP).
[0881] "Means of accessing a database to obtain related information" refers to a means of searching for and obtaining related information by sending a query to a database containing relevant book information based on the analyzed keywords.
[0882] A "recommendation engine means" is an algorithm or system that selects and recommends books that best fit a user's request based on the acquired information.
[0883] The "means of providing to the user" refers to the means of conveying the recommendation results to the user by voice or text, and displaying them on the display of a smart device, etc.
[0884] "Means for displaying real-world item location information" refers to means that use displays or AR technology to visually provide users with the specific shelf location or location of recommended books in a real store.
[0885] The present invention provides a system that allows users to easily find books they want to read in physical stores. The main components of this system are a user-held input device, a voice recognition function, natural language processing (NLP), database access, a recommendation engine, and a display means that provides real-world item location information.
[0886] Specific embodiments of the present invention will be described below.
[0887] User operations
[0888] A user can voice-input requests for books they want to read via an input device such as smart glasses, for example, "Tell me about recent business books."
[0889] Terminal handling
[0890] The device receives the voice request, converts it into text data using speech recognition software (e.g., Google Speech Recognition API), and then converts the converted request into a format appropriate for sending to the server, sending it as an HTTP request to the server.
[0891] Server Processing
[0892] The server processes the request received from the terminal, specifically including the following steps:
[0893] Request Analysis
[0894] The server's request analysis module uses natural language processing (NLP) to analyze the intent of the request and extract important keywords. For example, from a voice request such as "Tell me about recent business books," the keywords "recent" and "business books" are extracted.
[0895] Database Access
[0896] The server queries the database using the analyzed keywords to retrieve relevant book information, including the book title, author, rating, and reading time.
[0897] Recommendations
[0898] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. For example, in response to a request for "recent business books," the book "Refresher on Business Basics" will be recommended.
[0899] Generating and displaying recommendations
[0900] After the final recommendation is determined, the server generates a natural-sounding message and presents it to the user. For example, it generates a message like, "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0901] Presentation of results
[0902] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display, allowing the user to visually check the shelf location of the recommended book in the bookstore and easily find the desired book.
[0903] Specific examples
[0904] For example, if a user requests "Tell me about recent business books," the results would be as follows:
[0905] 1. User voice input: Tell me about recent business books
[0906] 2. Keywords analyzed: recent, business books
[0907] 3. Recommended Book: Relearning Business Basics
[0908] 4. Shelf position: 3A
[0909] 5. Message: The recommended book is "Business Basics Refresher." It's on shelf 3A.
[0910] This will enable users to easily find the books they want in physical stores, and is expected to improve their purchasing experience.
[0911] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0912] Step 1:
[0913] The user inputs a request for a desired book by voice through the smart glasses. Specifically, the input is voice data such as "Tell me about recent business books." This request is captured as voice through the microphone of the smart glasses.
[0914] Step 2:
[0915] The device receives the voice request and converts it into text data using speech recognition software (e.g., Google speech recognition API). The input is voice data, and the output is text data such as "Tell me about recent business books." The converted text data is then converted into a format that can be sent to the server.
[0916] Step 3:
[0917] The terminal sends the converted text data to the server. At this time, the text data is formatted as an HTTP request and sent to the server. The input is text data, and the output is data in HTTP request format. The server receives this.
[0918] Step 4:
[0919] The server's request analysis module analyzes the received request. It uses natural language processing (NLP) to understand the intent of the request and extract important keywords. The input is text data such as "Tell me about recent business books," and the output is keyword data such as "recent" and "business books."
[0920] Step 5:
[0921] The server uses the analyzed keywords to query the database using a database access module. The input is keyword data, and the output is a list of related book information. Specifically, this includes "Relearning Business Basics."
[0922] Step 6:
[0923] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. The input is a list of book information, and the output is the recommended book information. For example, "Relearning Business Fundamentals" is selected.
[0924] Step 7:
[0925] The server's response generation module generates a recommendation result for the user in natural sentences based on the recommended book information. The input is the recommended book information, and the output is text data such as "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[0926] Step 8:
[0927] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display. The input is text data, and the output is display information that the user can visually confirm. Based on this information, the user can easily check the shelf location of the recommended book in the bookstore.
[0928] 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.
[0929] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books.
[0930] Overview of the Example
[0931] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[0932] User operations
[0933] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a mystery that will cheer me up a little."
[0934] Terminal handling
[0935] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[0936] Server Processing
[0937] The server receives the request sent from the terminal and executes the following processes in order.
[0938] Request Analysis
[0939] The server's request analysis module analyzes the received request using natural language processing (NLP). For example, from a request such as "I want to read a mystery that will cheer me up a little," it extracts the keywords "that will cheer me up a little" and "mystery."
[0940] Emotion analysis
[0941] The server's emotion engine analyzes the user's emotion based on the request text. As a result of the analysis, it identifies the user's current emotional state from the request. For example, it recognizes the emotion "I want to feel better" from the user's request.
[0942] Emotion and Request Correction
[0943] The request information is corrected by combining the results of request analysis and sentiment analysis. For example, the request information is corrected to a keyword that incorporates the emotional element of "feeling a little better" as "an uplifting mystery."
[0944] Database Access
[0945] The server uses the database access module to query the database based on the corrected keywords. This query searches for book information related to "uplifting" and "mystery."
[0946] Recommendations
[0947] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best matches the user's request and emotions. For example, it might select from the search results a "highly rated mystery novel that will leave you feeling energized after reading it."
[0948] Response Generation
[0949] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results from the recommendation engine. For example, it generates a message such as "The book I recommend for you is 'An Uplifting Mystery'."
[0950] Sending a response
[0951] The server sends the generated response message to the terminal, in the form of an HTTP response.
[0952] Display in the user interface
[0953] The device displays the received recommendation results on the user interface, allowing the user to check information about the recommended books.
[0954] Specific examples
[0955] For example, if the user requests "I want to read a novel that will ease my feelings of loneliness," the process proceeds as follows:
[0956] 1. The user enters a request.
[0957] 2. The device sends a request to the server.
[0958] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[0959] 4. The emotion engine analyzes the emotion of "lonely" and
[0960] 5. Based on the request analysis results, correct it to "a heartwarming novel."
[0961] 6. Obtain the relevant book information from the database.
[0962] 7. The recommendation engine selects the best book.
[0963] 8. The response generation module generates a message saying, "The book I recommend for you is 'Heartwarming Stories'."
[0964] 9. The server sends the message to the terminal, which displays it to the user.
[0965] This concludes the description of the specific embodiment for carrying out the invention. This system allows users to easily find the most suitable book for their emotional state, further improving their reading experience.
[0966] The processing flow will be explained below.
[0967] Step 1:
[0968] The user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that will cheer me up."
[0969] Step 2:
[0970] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[0971] Step 3:
[0972] The server receives the request sent from the terminal and passes the data to the request analysis module.
[0973] Step 4:
[0974] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read an uplifting mystery," it extracts the keywords "uplifting" and "mystery."
[0975] Step 5:
[0976] The server calls the emotion engine and analyzes the user's emotions using the extracted keywords. For example, the phrase "I can feel better" identifies the user's current desire for energy.
[0977] Step 6:
[0978] The results of the emotion analysis and the request analysis are combined to correct the request information. For example, taking into account the desire to feel cheerful, the request can be corrected to something like "a mystery that will lift your spirits."
[0979] Step 7:
[0980] The server runs a database access module to access a database based on the corrected request information, for example, to search for book information related to "spirit-boosting mysteries."
[0981] Step 8:
[0982] The server sends the related book information retrieved from the database to the recommendation engine, which selects the book that best suits the user's request and emotional state.
[0983] Step 9:
[0984] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Heartwarming Mystery.'"
[0985] Step 10:
[0986] The server generates a response message and sends it to the terminal. The message is sent in HTTP response format.
[0987] Step 11:
[0988] The terminal displays the response received from the server on the user interface, allowing the user to check the information about the recommended books.
[0989] These are the specific processing steps in a system that combines an emotion engine. By executing each step in sequence, it becomes possible to recommend the most suitable book based on the user's emotional state.
[0990] Example 2
[0991] 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."
[0992] Conventional book recommendation systems lack the functionality to consider the user's emotional state when recommending books based on user requests, which means they are unable to recommend books that are appropriate for the user's emotions. Furthermore, the recommendations tend to be mechanical and unnatural, which means they are unable to sufficiently improve user satisfaction.
[0993] 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.
[0994] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the user's emotional state based on the request, means for correcting the request based on the analyzed request information and emotion information, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user. This enables appropriate book recommendations that are in line with the user's emotions, and the recommended results are provided to the user in natural, easy-to-understand sentences, thereby improving user satisfaction.
[0995] The "means for users to input requests" refers to an interface that allows users to use a terminal to input requests for books they wish to read in text, audio, or other formats.
[0996] The "request analysis means" is a function for analyzing requests received from users using natural language processing technology and extracting key keywords and phrases.
[0997] "Emotion analysis means" is a function for analyzing a user's emotional state based on the request text from the user, using a generative AI model, etc.
[0998] The "means for correcting requests" is a function for combining the results of request analysis and emotion analysis to optimize request information based on the user's intentions and emotional state.
[0999] "Means of accessing the database and obtaining related information" refers to a function that sends a query to the database based on the corrected request information to search for and obtain the relevant book information.
[1000] The "recommendation engine means" is an engine for selecting books that best suit the user's requests and emotions based on book information obtained from the database.
[1001] The "means for displaying to the user" is a function for generating optimal book recommendation results in natural sentences and visually displaying them to the user via a user interface.
[1002] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books. A specific implementation method of this system is described below.
[1003] Specific implementation methods
[1004] 1. User request input
[1005] Users input their requests for books they want to read in text format using devices such as smartphones, tablets, and PCs. For example, they might input, "I'd like to read a mystery that will cheer me up a little." The input interface is a web browser or dedicated application software.
[1006] 2. Submitting a Request
[1007] The terminal receives the request entered by the user and converts it into the appropriate format: it converts the entered text into JSON format and sends it to the server as an HTTP POST request.
[1008] 3. Processing on the Server
[1009] The server performs the following processes in sequence.
[1010] a. Request Analysis
[1011] The server analyzes the received request using a request analysis method. This analysis uses natural language processing (NLP) technology. Specific libraries used are SpaCy and NLTK. From a request such as "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted.
[1012] b. Emotion analysis
[1013] The server uses a sentiment analysis tool to analyze the user's emotional state from the request text. This analysis uses a generative AI model (for example, the BERT model based on the Transformers library). From the prompt, the server identifies the sentiment "I want to feel better."
[1014] c. Request Amendment
[1015] The server combines the results of the request analysis and the sentiment analysis to correct the request information. For example, taking into account the emotional element of "it makes me feel a little better," the server corrects the request information to the keyword "a mystery that lifts my spirits."
[1016] d. Database Access
[1017] The server then sends a query to the database based on the corrected keywords. The database system used is MySQL or PostgreSQL. The query searches for books related to "uplifting" and "mystery."
[1018] e. Recommendation generation
[1019] The server's recommendation engine analyzes the book information retrieved from the database and selects the book that best suits the user's request and emotions. For example, it might select a highly rated mystery novel that will leave you feeling energized after reading it.
[1020] f. Response Generation
[1021] The server's response generation means generates a message to the user in natural language based on the recommendation engine's results, recommending books. For example, it could generate a message like, "The book I recommend for you is 'An uplifting mystery.'"
[1022] 4. Sending and displaying recommendation results
[1023] The server sends the generated message in the form of an HTTP response to the terminal, which then displays the received recommendation results on a user interface, allowing the user to check information about the recommended books.
[1024] As a specific example, if a user requests "I want to read a novel that will ease my feelings of loneliness," the following processing will be performed.
[1025] 1. The user types, "I want to read a novel that will ease my feelings of loneliness."
[1026] 2. The device sends a request to the server.
[1027] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[1028] 4. Emotion analysis is used to analyze the emotion of "lonely"
[1029] 5. Combine the request and emotion and amend it to "A heartwarming novel."
[1030] 6. Obtain relevant book information from the database.
[1031] 7. The recommendation engine selects the best books.
[1032] 8. The response generated is "The book I recommend for you is 'Heartwarming Stories'."
[1033] 9. The server sends the message to the device, which displays it to the user.
[1034] This system allows users to easily find the best book for their emotional state, improving their reading experience.
[1035] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1036] Step 1:
[1037] Request input from the user
[1038] A user uses a terminal to input a book request. For example, the user might input, "I'd like to read a mystery that will cheer me up a little." This input is made via an input device such as a smartphone, tablet, or PC. The input for this process is a text request, and the output is formatted data that is passed on to the next process on the terminal.
[1039] Step 2:
[1040] Submitting a Request
[1041] The terminal converts the request input by the user into an appropriate format (e.g., JSON format). This conversion is performed using an application running on the terminal or a web browser. The formatted request is sent to the server as an HTTP POST request. The input to this process is the text-based request, and the output is the formatted request data sent to the server.
[1042] Step 3:
[1043] Receiving a request
[1044] The server receives the HTTP request sent from the device using a server-side API endpoint. The received data is passed to the next analysis step. The input of this process is the formatted request data, and the output is data ready for request analysis.
[1045] Step 4:
[1046] Request Analysis
[1047] The server uses a request analysis module to analyze the received request. This analysis uses natural language processing (NLP) techniques, specifically libraries such as SpaCy and NLTK. From the request "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted. The input to this process is the prepared request data, and the output is the extracted keyword data.
[1048] Step 5:
[1049] Emotion analysis
[1050] The server launches a sentiment analysis module and analyzes the user's emotional state based on the request text. This analysis uses a generative AI model (e.g., the BERT model). From the request for "a mystery that will cheer me up a little," the emotion "I want to feel better" is identified. The input for this process is the request text data, and the output is the analyzed emotional data.
[1051] Step 6:
[1052] Request Correction
[1053] The server combines the results of the request analysis and the emotion analysis to correct the request information. For example, it adds the emotional element of "it cheers me up a little" and corrects the keyword to "an uplifting mystery." The inputs to this process are keyword data and emotion data, and the output is the corrected request data.
[1054] Step 7:
[1055] Database Access
[1056] The server uses a database access module based on the corrected keywords to send a query to the database. MySQL or PostgreSQL is used as the database. The query searches for book information related to "uplifting" and "mystery." The input to this process is the corrected request data, and the output is the searched book data.
[1057] Step 8:
[1058] Generating Book Recommendations
[1059] The server starts the recommendation engine and analyzes the book list retrieved from the database. It then selects the most suitable book from the retrieved book list. For example, it may select a "highly rated mystery novel that will leave you feeling energized after reading it." The input to this process is the searched book data, and the output is the recommended book data.
[1060] Step 9:
[1061] Response Generation
[1062] The server uses the response generation module to generate a message to the user recommending a book in natural language. For example, it generates a message such as "The book I recommend to you is 'Encouraging Mystery'." The input of this process is the recommended book data, and the output is the generated message data.
[1063] Step 10:
[1064] Sending and viewing recommendations
[1065] The server sends the generated message to the terminal in the form of an HTTP response. The terminal displays the received recommendation results on its user interface. The user can check the information about the recommended books. The input of this process is the generated message data, and the output is the information displayed on the user interface.
[1066] (Application example 2)
[1067] 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."
[1068] Conventional recommendation systems recommend relevant content based on user requests, but because they do not take the user's emotional state into account, they may not be able to provide the content the user truly desires. In the entertainment field in particular, content recommendations tailored to the user's emotions are required, but current systems have not been able to achieve this. Therefore, there is a need for a system that analyzes the user's emotions and provides content based on their emotional state.
[1069] 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.
[1070] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the analyzed request information and the user's emotional state, means for correcting the request information based on the emotion analysis results, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user, thereby enabling optimal content recommendations that reflect the user's emotional state.
[1071] The "means by which a user inputs a request" refers to a device or software that provides an interface for a user to input desired content or conditions.
[1072] The "request analysis means" is a device or software that analyzes a request entered by a user and identifies the user's intentions and wishes.
[1073] "Emotion analysis means" refers to a device or software that identifies the user's emotional state from the input request and corrects the request content based on that emotion.
[1074] The "means for correcting request information based on emotion analysis results" refers to a device or software for appropriately correcting the input request content by reflecting the user's emotional state identified by the emotion analysis means.
[1075] The "means for accessing a database and retrieving related information" refers to a device or software for issuing a search query to a database based on the corrected request information and retrieving related content or information.
[1076] The "recommendation engine means" refers to a device or software that selects and recommends content that best suits the user's request and emotional state based on information obtained from a database.
[1077] The "means for displaying to the user" refers to a display device or software for visually presenting the recommended content or information to the user.
[1078] This invention relates to a content recommendation system based on user emotion analysis. The specific configuration and operation of the system will be described below.
[1079] System configuration
[1080] This system consists of a user terminal, a server, and a database. The user terminal refers to a smartphone, tablet, PC, etc., and provides an interface for users to input requests. The server is responsible for analyzing requests, analyzing emotions, and generating recommendation results. The database stores content information.
[1081] User operations
[1082] The user inputs a request for desired content via the terminal, for example, "I want to relax today, so I want to watch a good romance movie." This request is sent by the terminal to the server.
[1083] Server Processing
[1084] The server executes the process in the following steps:
[1085] 1. Request Analysis
[1086] The server's request analysis means analyzes the user's request using natural language processing (NLP) techniques. For example, it extracts keywords such as "I want to relax" and "romance" from the request.
[1087] 2. Emotion analysis
[1088] The server's sentiment analyzer identifies the user's emotional state from the request text. For example, to analyze the emotion "I want to relax," it uses the sentiment-analysis pipeline from the transformers library.
[1089] 3. Request Correction
[1090] Based on the results of the emotion analysis, the request information is corrected. Specifically, to match the emotion of "wanting to relax," the request is corrected to "comforting" content in the romance genre.
[1091] 4. Database Access
[1092] Based on the corrected request information, the server issues a search query to the database to retrieve relevant information.
[1093] 5. Recommendation Engine
[1094] The recommendation engine means of the server selects the most suitable content from the acquired information, for example, recommending "relaxing romance movies."
[1095] 6. Displaying the results
[1096] The server transmits the generated recommendation results to the terminal, which displays the results on a user interface and provides the user with information about the recommended content.
[1097] Specific examples
[1098] Specifically, the following shows the behavior when the user inputs, "I want to relax today, so I want to watch a good romance movie."
[1099] 1. The user enters a request.
[1100] 2. The device sends a request to the server.
[1101] 3. The server's request analysis method extracts "I want to relax" and "romance."
[1102] 4. The server's emotion analysis means analyzes the emotion "I want to relax."
[1103] 5. Based on the request analysis results and sentiment analysis results, the request is corrected to "a relaxing romance movie."
[1104] 6. Obtain the relevant content information from the database.
[1105] 7. The recommendation engine selects the most suitable content.
[1106] 8. The response generation module generates a message saying, "The movie I recommend for you is 'A relaxing romance movie.'"
[1107] 9. The server sends this message to the terminal, which displays it on its user interface.
[1108] Prompt Sentence Examples
[1109] User-supplied text: I want to relax today and watch a good romance movie.
[1110] In this way, the system can recommend optimal content based on sentiment analysis.
[1111] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1112] Step 1:
[1113] The user inputs a request. Using the device's interface, the user inputs a request that includes a specific wish. For example, the user might input, "I want to relax today, so I'd like to watch a good romance movie." This input is stored in text format on the device.
[1114] Step 2:
[1115] The terminal sends a request to the server. The terminal converts the request entered by the user into an appropriate format and sends it to the server as an HTTP request. The data sent is the user's request text.
[1116] Step 3:
[1117] The server receives the request and analyzes it. The server's request analysis means analyzes the user's request text using natural language processing (NLP) technology and extracts key keywords. For example, the keywords "I want to relax" and "romance" are extracted from the request. The results of this analysis are used as input for the next step.
[1118] Step 4:
[1119] The server analyzes the user's emotions. The server's emotion analysis means identifies the user's emotional state based on the extracted keywords. For example, the sentiment-analysis pipeline in the transformers library identifies the emotion "relaxed" from the request "I want to relax." The results of this emotion analysis are used to correct the request.
[1120] Step 5:
[1121] The server corrects the request information. By combining the results of the emotion analysis and the request analysis, the server corrects the request information. For example, to match the emotion of "I want to relax," the request is corrected to "A relaxing romance movie." This correction result is used for database access.
[1122] Step 6:
[1123] The server accesses the database to retrieve related information. Based on the corrected request information, the server's database access means issues a search query to the database to retrieve related content information. The retrieved data is a list of movies that match the category "comfortable romance movies."
[1124] Step 7:
[1125] The server selects the most suitable content using a recommendation engine. The recommendation engine means of the server analyzes the movie list retrieved from the database and selects the movie that best suits the user's request and emotional state. For example, it selects "relaxing romance movies" taking into account ratings and reviews.
[1126] Step 8:
[1127] The server generates the recommendation results. Based on the recommendation engine's selection results, the server generates a message containing detailed information about the movie recommended to the user. For example, it generates a message saying, "The movie recommended for you is a 'relaxing romance movie.'" This message is sent to the device.
[1128] Step 9:
[1129] The terminal displays the recommendation results to the user. The terminal displays the message received from the server on the user interface, allowing the user to check the information about the recommended movies.
[1130] 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.
[1131] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1132] In the above embodiment, an example 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.
[1133] [Fourth embodiment]
[1134] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1135] 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.
[1136] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1137] The 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.
[1138] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1139] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1140] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1141] 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.
[1142] 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.
[1143] 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.
[1144] 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.
[1145] 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.
[1146] 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."
[1147] The present invention is implemented to provide a system that appropriately recommends books that a user wants to read. This system has a function of automatically recommending the most suitable books based on a user's request.
[1148] Overview of the Example
[1149] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[1150] User operations
[1151] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a quick mystery."
[1152] Terminal handling
[1153] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[1154] Server Processing
[1155] The server receives the request sent from the terminal and executes the following processes in order.
[1156] Request Analysis
[1157] The server's request analysis module analyzes the received request. This module uses natural language processing (NLP) to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[1158] Database Access
[1159] The server uses the database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery."
[1160] Recommendations
[1161] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best meets the user's request. For example, it might select a "popular mystery novel that is quick to read" from the search results.
[1162] Response Generation
[1163] The server's response generation module generates a message to the user in natural language, based on the results from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[1164] Sending a response
[1165] The server sends the generated response message to the terminal, which then displays the received message on the user interface and provides the user with the recommended results.
[1166] Specific examples
[1167] For example, if the user requests "Tell me the latest bestsellers in the US," the process proceeds as follows:
[1168] 1. The user enters a request.
[1169] 2. The device sends a request to the server.
[1170] 3. The server receives the request and extracts "Recent", "USA", and "Best Sellers".
[1171] 4. Obtain the relevant book information from the database.
[1172] 5. The recommendation engine selects the best book.
[1173] 6. The response generation module generates the message, "The best-selling book in America right now is 'a certain book.'"
[1174] 7. The server sends the message to the terminal, which displays it to the user.
[1175] The above is a description of a specific embodiment for carrying out the invention. This system allows users to easily find the books they want to read, improving their reading experience.
[1176] The processing flow will be explained below.
[1177] Step 1:
[1178] A user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that can be read quickly."
[1179] Step 2:
[1180] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[1181] Step 3:
[1182] The server receives the request sent from the terminal and passes it to the request analysis module.
[1183] Step 4:
[1184] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read a mystery that can be read quickly," the keywords "quick read" and "mystery" are extracted.
[1185] Step 5:
[1186] The server uses a database access module to query the database based on the analyzed keywords, for example, searching for book information related to "quick read" and "mystery."
[1187] Step 6:
[1188] The server then passes the related book information it has retrieved from the database to the recommendation engine, which then applies an algorithm to make optimal recommendations and identifies the book that best suits the user's request.
[1189] Step 7:
[1190] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Sakura.'"
[1191] Step 8:
[1192] The server sends the generated response message to the terminal in the form of an HTTP response.
[1193] Step 9:
[1194] The terminal displays the response received from the server on the user interface, allowing the user to check information about the recommended books.
[1195] These are the specific processing steps from request to display of recommendation results. By executing each step in sequence, it is possible to quickly recommend the most suitable book to the user.
[1196] Example 1
[1197] 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."
[1198] Conventional book recommendation systems often lack the ability to accurately respond to user requests, and it is particularly difficult to properly analyze requests entered in natural language and recommend books that match the user's intent. Furthermore, the display of recommended book information is sometimes not quick and intuitive, making it difficult for users to obtain a satisfying reading experience.
[1199] 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.
[1200] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, means for accessing a database based on the analyzed request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, means for transmitting a generated response to a terminal for display to the user, and means for displaying the response received by the terminal on a user interface. This makes it possible to quickly and accurately recommend books based on the user's natural language request, thereby improving the user's reading experience.
[1201] The "means for users to input requests" refers to a device or software that provides an interface that allows users to freely input information about books they want to read and their wishes.
[1202] The "request analysis means" refers to a module or algorithm used to analyze an input request and understand the user's intentions and needs.
[1203] "Means for accessing a database and retrieving related information" refers to a system or software for searching for and retrieving related data such as book information based on the analyzed request.
[1204] The "recommendation engine means" refers to an algorithm or module that selects and recommends books that best suit the user's needs based on the acquired data.
[1205] The "means for transmitting the generated response to the terminal for display to the user" refers to a communication means for quickly delivering the response message generated by the server to the user's terminal.
[1206] The "means for displaying the response received by the terminal on the user interface" refers to a mechanism for visually or audibly presenting the message received by the terminal to the user using a screen or other output device.
[1207] The present invention relates to a system that appropriately recommends books that users want to read. This system has the function of automatically recommending the most suitable books based on user requests. The operation of this system will be explained below from the perspectives of the user, the terminal, and the server.
[1208] User operations
[1209] Users can use their smartphones, tablets, or PCs to input requests for books they want to read. Specifically, users can input requests in free text format, such as "I want to read a quick mystery."
[1210] Terminal handling
[1211] The terminal receives a request input by a user. After receiving the request, the terminal converts the request into an appropriate format (e.g., JSON format) and sends it to the server as an HTTP request.
[1212] Server Processing
[1213] The server receives the HTTP request sent from the terminal. After receiving the request, the server executes the following processes in order.
[1214] Request Analysis
[1215] The server's request analysis module analyzes the request. This module uses natural language processing (NLP) technology to understand the intent of the request and extract important keywords. For example, from a request such as "I want to read a mystery that's easy to read," the keywords "easy to read" and "mystery" are extracted.
[1216] Database Access
[1217] The server uses a database access module to query the database based on the analyzed keywords. This query searches for book information related to "quick reads" and "mystery." Specifically, it accesses the database using a query language such as SQL to retrieve related book information.
[1218] Recommendations
[1219] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best suits the user's request. For example, it may select "highly rated mystery novels with short reading times" from the search results. The engine selects books using machine learning models and collaborative filtering algorithms.
[1220] Response Generation
[1221] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results obtained from the recommendation engine. For example, it generates a message saying, "The book I recommend to you is 'Spring Without Cherry Blossoms.'"
[1222] Sending and displaying the response
[1223] The server generates a response message and sends it to the terminal, which then displays it on its user interface, allowing the user to view the recommended books.
[1224] Specific examples
[1225] For example, if a user makes a request such as "Tell me the latest bestsellers in the US," the process proceeds as follows: The user inputs a request, and the device sends it to the server. The server receives the request and extracts "recent," "USA," and "bestsellers." It retrieves relevant book information from the database and selects the most suitable book using the recommendation engine. The response generation module generates a message saying, "The best-selling book in the US right now is 'A Certain Book,'" and the server sends the message to the device. The device displays this to the user, allowing them to check the recommended bestsellers.
[1226] This system will enable users to easily find the books they want to read, which will surely improve their reading experience.
[1227] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1228] Step 1:
[1229] The user inputs a request using a device (such as a smartphone, tablet, or PC). The input is in the form of free text, such as "I want to read a quick mystery," and is input data to the system. Specific actions include the user typing the desired conditions into a text input field.
[1230] Step 2:
[1231] The terminal receives a request entered by the user. After receiving the request, it converts it into an appropriate data format, such as JSON. This conversion is part of data processing and is preprocessing for sending it to the server as an HTTP request. The output from the terminal is the converted request data in JSON format.
[1232] Step 3:
[1233] The server receives an HTTP request sent from a terminal. Based on the input data of the received request, the request is analyzed using a request analysis module. This analysis uses natural language processing (NLP) technology to extract the important keywords "quick read" and "mystery" from the request "I want to read a mystery that's easy to read." The input data for this process is a series of text data, and the output data is the extracted keywords.
[1234] Step 4:
[1235] The server uses the database access module based on the analyzed keywords to issue a query to the database. This query calculation and processing involves calculating and processing data in the database, and specifically generates an SQL query such as "SELECT FROM books WHERE genre='mystery' AND reading_time <= 'short'". The input data is the keywords, and the output data is the retrieved book information.
[1236] Step 5:
[1237] The server's recommendation engine analyzes book information retrieved from the database and selects the book that best suits the user's request. This process uses machine learning models and collaborative filtering algorithms. Specifically, it narrows down the results to highly rated mystery novels, etc. The input data is book information, and the output data is the selected book information.
[1238] Step 6:
[1239] The server's response generation module generates a message recommending a book to the user based on the book information selected by the recommendation engine. As a specific example, a message is created that reads, "The book we recommend for you is 'Spring Without Cherry Blossoms.'" This generation is the process of converting output data into a natural language format, with the input data being the selected book information and the output data being the generated message.
[1240] Step 7:
[1241] The server sends the generated response message to the terminal as an HTTP response. The input data is the generated message, and the output data is the HTTP response.
[1242] Step 8:
[1243] The terminal analyzes the HTTP response received from the server and extracts the message. This message is displayed on the user interface. Specifically, the message "The book recommended for you is 'Spring Without Cherry Blossoms'" is displayed on the screen. The input data in this step is the HTTP response, and the output data is the message to be displayed to the user.
[1244] The above is the specific processing flow of this system.
[1245] (Application example 1)
[1246] 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."
[1247] In conventional book recommendation systems, users typically input their requests online and receive recommendations online. However, this method does not provide the same convenience as purchasing books in the real world, and there is a problem in that it is time-consuming to locate recommended books when searching for books in a bookstore. Furthermore, there is a need to improve the user purchasing experience by introducing automated recommendation systems into physical stores.
[1248] 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.
[1249] In this invention, the server includes a means for a user to input a request, a request analysis means for analyzing the request, a means for accessing a database based on the analyzed request information to obtain related information, a recommendation engine means for making optimal recommendations based on the obtained information, a means for providing the recommendation results to the user, and a means for displaying location information of real-world items. This allows users to easily find books they want to read in a physical store, significantly improving the purchasing experience.
[1250] The "means for inputting a request" refers to a device that allows a user to input information about a desired book by voice or text, specifically an input device such as a smartphone, tablet, PC, or smart glasses.
[1251] The "request analysis means" is a technology that analyzes requests entered by users and extracts their intentions and keywords, and is a technology that uses natural language processing (NLP).
[1252] "Means of accessing a database to obtain related information" refers to a means of searching for and obtaining related information by sending a query to a database containing relevant book information based on the analyzed keywords.
[1253] A "recommendation engine means" is an algorithm or system that selects and recommends books that best fit a user's request based on the acquired information.
[1254] The "means of providing to the user" refers to the means of conveying the recommendation results to the user by voice or text, and displaying them on the display of a smart device, etc.
[1255] "Means for displaying real-world item location information" refers to means that use displays or AR technology to visually provide users with the specific shelf location or location of recommended books in a real store.
[1256] The present invention provides a system that allows users to easily find books they want to read in physical stores. The main components of this system are a user-held input device, a voice recognition function, natural language processing (NLP), database access, a recommendation engine, and a display means that provides real-world item location information.
[1257] Specific embodiments of the present invention will be described below.
[1258] User operations
[1259] A user can voice-input requests for books they want to read via an input device such as smart glasses, for example, "Tell me about recent business books."
[1260] Terminal handling
[1261] The device receives the voice request, converts it into text data using speech recognition software (e.g., Google Speech Recognition API), and then converts the converted request into a format appropriate for sending to the server, sending it as an HTTP request to the server.
[1262] Server Processing
[1263] The server processes the request received from the terminal, specifically including the following steps:
[1264] Request Analysis
[1265] The server's request analysis module uses natural language processing (NLP) to analyze the intent of the request and extract important keywords. For example, from a voice request such as "Tell me about recent business books," the keywords "recent" and "business books" are extracted.
[1266] Database Access
[1267] The server queries the database using the analyzed keywords to retrieve relevant book information, including the book title, author, rating, and reading time.
[1268] Recommendations
[1269] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. For example, in response to a request for "recent business books," the book "Refresher on Business Basics" will be recommended.
[1270] Generating and displaying recommendations
[1271] After the final recommendation is determined, the server generates a natural-sounding message and presents it to the user. For example, it generates a message like, "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[1272] Presentation of results
[1273] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display, allowing the user to visually check the shelf location of the recommended book in the bookstore and easily find the desired book.
[1274] Specific examples
[1275] For example, if a user requests "Tell me about recent business books," the results would be as follows:
[1276] 1. User voice input: Tell me about recent business books
[1277] 2. Keywords analyzed: recent, business books
[1278] 3. Recommended Book: Relearning Business Basics
[1279] 4. Shelf position: 3A
[1280] 5. Message: The recommended book is "Business Basics Refresher." It's on shelf 3A.
[1281] This will enable users to easily find the books they want in physical stores, and is expected to improve their purchasing experience.
[1282] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1283] Step 1:
[1284] The user inputs a request for a desired book by voice through the smart glasses. Specifically, the input is voice data such as "Tell me about recent business books." This request is captured as voice through the microphone of the smart glasses.
[1285] Step 2:
[1286] The device receives the voice request and converts it into text data using speech recognition software (e.g., Google speech recognition API). The input is voice data, and the output is text data such as "Tell me about recent business books." The converted text data is then converted into a format that can be sent to the server.
[1287] Step 3:
[1288] The terminal sends the converted text data to the server. At this time, the text data is formatted as an HTTP request and sent to the server. The input is text data, and the output is data in HTTP request format. The server receives this.
[1289] Step 4:
[1290] The server's request analysis module analyzes the received request. It uses natural language processing (NLP) to understand the intent of the request and extract important keywords. The input is text data such as "Tell me about recent business books," and the output is keyword data such as "recent" and "business books."
[1291] Step 5:
[1292] The server uses the analyzed keywords to query the database using a database access module. The input is keyword data, and the output is a list of related book information. Specifically, this includes "Relearning Business Basics."
[1293] Step 6:
[1294] The server's recommendation engine analyzes the acquired book information and selects the book that best suits the user's request. The input is a list of book information, and the output is the recommended book information. For example, "Relearning Business Fundamentals" is selected.
[1295] Step 7:
[1296] The server's response generation module generates a recommendation result for the user in natural sentences based on the recommended book information. The input is the recommended book information, and the output is text data such as "The recommended book is 'Relearn Business Basics'. Its shelf location is 3A."
[1297] Step 8:
[1298] The server sends the generated message to the device, which then displays the recommendation results on the smart glasses display. The input is text data, and the output is display information that the user can visually confirm. Based on this information, the user can easily check the shelf location of the recommended book in the bookstore.
[1299] 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.
[1300] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books.
[1301] Overview of the Example
[1302] The operation of each part of this system will be explained from the viewpoints of the user, the terminal, and the server.
[1303] User operations
[1304] A user inputs a request for a book they want to read via a device (e.g., a smartphone, tablet, PC, etc.). For example, the user inputs, "I want to read a mystery that will cheer me up a little."
[1305] Terminal handling
[1306] The terminal receives a request input by a user, converts the received request into an appropriate format for transmission to a server, and issues an HTTP request to the server.
[1307] Server Processing
[1308] The server receives the request sent from the terminal and executes the following processes in order.
[1309] Request Analysis
[1310] The server's request analysis module analyzes the received request using natural language processing (NLP). For example, from a request such as "I want to read a mystery that will cheer me up a little," it extracts the keywords "that will cheer me up a little" and "mystery."
[1311] Emotion analysis
[1312] The server's emotion engine analyzes the user's emotion based on the request text. As a result of the analysis, it identifies the user's current emotional state from the request. For example, it recognizes the emotion "I want to feel better" from the user's request.
[1313] Emotion and Request Correction
[1314] The request information is corrected by combining the results of request analysis and sentiment analysis. For example, the request information is corrected to a keyword that incorporates the emotional element of "feeling a little better" as "an uplifting mystery."
[1315] Database Access
[1316] The server uses the database access module to query the database based on the corrected keywords. This query searches for book information related to "uplifting" and "mystery."
[1317] Recommendations
[1318] The server's recommendation engine analyzes the book information retrieved from the database and identifies the book that best matches the user's request and emotions. For example, it might select from the search results a "highly rated mystery novel that will leave you feeling energized after reading it."
[1319] Response Generation
[1320] The server's response generation module generates a message in natural language to inform the user of the recommended book based on the results from the recommendation engine. For example, it generates a message such as "The book I recommend for you is 'An Uplifting Mystery'."
[1321] Sending a response
[1322] The server sends the generated response message to the terminal, in the form of an HTTP response.
[1323] Display in the user interface
[1324] The device displays the received recommendation results on the user interface, allowing the user to check information about the recommended books.
[1325] Specific examples
[1326] For example, if the user requests "I want to read a novel that will ease my feelings of loneliness," the process proceeds as follows:
[1327] 1. The user enters a request.
[1328] 2. The device sends a request to the server.
[1329] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[1330] 4. The emotion engine analyzes the emotion of "lonely" and
[1331] 5. Based on the request analysis results, correct it to "a heartwarming novel."
[1332] 6. Obtain the relevant book information from the database.
[1333] 7. The recommendation engine selects the best book.
[1334] 8. The response generation module generates a message saying, "The book I recommend for you is 'Heartwarming Stories'."
[1335] 9. The server sends the message to the terminal, which displays it to the user.
[1336] This concludes the description of the specific embodiment for carrying out the invention. This system allows users to easily find the most suitable book for their emotional state, further improving their reading experience.
[1337] The processing flow will be explained below.
[1338] Step 1:
[1339] The user accesses the user interface of the terminal and inputs a request based on his / her desires. For example, the user inputs a request such as "I want to read a mystery that will cheer me up."
[1340] Step 2:
[1341] The terminal receives the user's request and sends it to the server in the form of an HTTP request.
[1342] Step 3:
[1343] The server receives the request sent from the terminal and passes the data to the request analysis module.
[1344] Step 4:
[1345] The request analysis module uses natural language processing (NLP) to analyze the received request. For example, from a request such as "I want to read an uplifting mystery," it extracts the keywords "uplifting" and "mystery."
[1346] Step 5:
[1347] The server calls the emotion engine and analyzes the user's emotions using the extracted keywords. For example, the phrase "I can feel better" identifies the user's current desire for energy.
[1348] Step 6:
[1349] The results of the emotion analysis and the request analysis are combined to correct the request information. For example, taking into account the desire to feel cheerful, the request can be corrected to something like "a mystery that will lift your spirits."
[1350] Step 7:
[1351] The server runs a database access module to access a database based on the corrected request information, for example, to search for book information related to "spirit-boosting mysteries."
[1352] Step 8:
[1353] The server sends the related book information retrieved from the database to the recommendation engine, which selects the book that best suits the user's request and emotional state.
[1354] Step 9:
[1355] Based on the books selected by the recommendation engine, the server's response generation module generates a message recommending the book to the user. For example, it generates a message saying, "The book I recommend to you is 'Heartwarming Mystery.'"
[1356] Step 10:
[1357] The server generates a response message and sends it to the terminal. The message is sent in HTTP response format.
[1358] Step 11:
[1359] The terminal displays the response received from the server on the user interface, allowing the user to check the information about the recommended books.
[1360] These are the specific processing steps in a system that combines an emotion engine. By executing each step in sequence, it becomes possible to recommend the most suitable book based on the user's emotional state.
[1361] Example 2
[1362] 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."
[1363] Conventional book recommendation systems lack the functionality to consider the user's emotional state when recommending books based on user requests, which means they are unable to recommend books that are appropriate for the user's emotions. Furthermore, the recommendations tend to be mechanical and unnatural, which means they are unable to sufficiently improve user satisfaction.
[1364] 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.
[1365] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the user's emotional state based on the request, means for correcting the request based on the analyzed request information and emotion information, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user. This enables appropriate book recommendations that are in line with the user's emotions, and the recommended results are provided to the user in natural, easy-to-understand sentences, thereby improving user satisfaction.
[1366] The "means for users to input requests" refers to an interface that allows users to use a terminal to input requests for books they wish to read in text, audio, or other formats.
[1367] The "request analysis means" is a function for analyzing requests received from users using natural language processing technology and extracting key keywords and phrases.
[1368] "Emotion analysis means" is a function for analyzing a user's emotional state based on the request text from the user, using a generative AI model, etc.
[1369] The "means for correcting requests" is a function for combining the results of request analysis and emotion analysis to optimize request information based on the user's intentions and emotional state.
[1370] "Means of accessing the database and obtaining related information" refers to a function that sends a query to the database based on the corrected request information to search for and obtain the relevant book information.
[1371] The "recommendation engine means" is an engine for selecting books that best suit the user's requests and emotions based on book information obtained from the database.
[1372] The "means for displaying to the user" is a function for generating optimal book recommendation results in natural sentences and visually displaying them to the user via a user interface.
[1373] The present invention is a system for appropriately recommending books that users want to read. This system has the function of analyzing the user's emotions in addition to the user's requests, and automatically recommending the most suitable books. A specific implementation method of this system is described below.
[1374] Specific implementation methods
[1375] 1. User request input
[1376] Users input their requests for books they want to read in text format using devices such as smartphones, tablets, and PCs. For example, they might input, "I'd like to read a mystery that will cheer me up a little." The input interface is a web browser or dedicated application software.
[1377] 2. Submitting a Request
[1378] The terminal receives the request entered by the user and converts it into the appropriate format: it converts the entered text into JSON format and sends it to the server as an HTTP POST request.
[1379] 3. Processing on the Server
[1380] The server performs the following processes in sequence.
[1381] a. Request Analysis
[1382] The server analyzes the received request using a request analysis method. This analysis uses natural language processing (NLP) technology. Specific libraries used are SpaCy and NLTK. From a request such as "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted.
[1383] b. Emotion analysis
[1384] The server uses a sentiment analysis tool to analyze the user's emotional state from the request text. This analysis uses a generative AI model (for example, the BERT model based on the Transformers library). From the prompt, the server identifies the sentiment "I want to feel better."
[1385] c. Request Amendment
[1386] The server combines the results of the request analysis and the sentiment analysis to correct the request information. For example, taking into account the emotional element of "it makes me feel a little better," the server corrects the request information to the keyword "a mystery that lifts my spirits."
[1387] d. Database Access
[1388] The server then sends a query to the database based on the corrected keywords. The database system used is MySQL or PostgreSQL. The query searches for books related to "uplifting" and "mystery."
[1389] e. Recommendation generation
[1390] The server's recommendation engine analyzes the book information retrieved from the database and selects the book that best suits the user's request and emotions. For example, it might select a highly rated mystery novel that will leave you feeling energized after reading it.
[1391] f. Response Generation
[1392] The server's response generation means generates a message to the user in natural language based on the recommendation engine's results, recommending books. For example, it could generate a message like, "The book I recommend for you is 'An uplifting mystery.'"
[1393] 4. Sending and displaying recommendation results
[1394] The server sends the generated message in the form of an HTTP response to the terminal, which then displays the received recommendation results on a user interface, allowing the user to check information about the recommended books.
[1395] As a specific example, if a user requests "I want to read a novel that will ease my feelings of loneliness," the following processing will be performed.
[1396] 1. The user types, "I want to read a novel that will ease my feelings of loneliness."
[1397] 2. The device sends a request to the server.
[1398] 3. The server receives the request and extracts "feeling a little lonely" and "novel."
[1399] 4. Emotion analysis is used to analyze the emotion of "lonely"
[1400] 5. Combine the request and emotion and amend it to "A heartwarming novel."
[1401] 6. Obtain relevant book information from the database.
[1402] 7. The recommendation engine selects the best books.
[1403] 8. The response generated is "The book I recommend for you is 'Heartwarming Stories'."
[1404] 9. The server sends the message to the device, which displays it to the user.
[1405] This system allows users to easily find the best book for their emotional state, improving their reading experience.
[1406] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1407] Step 1:
[1408] Request input from the user
[1409] A user uses a terminal to input a book request. For example, the user might input, "I'd like to read a mystery that will cheer me up a little." This input is made via an input device such as a smartphone, tablet, or PC. The input for this process is a text request, and the output is formatted data that is passed on to the next process on the terminal.
[1410] Step 2:
[1411] Submitting a Request
[1412] The terminal converts the request input by the user into an appropriate format (e.g., JSON format). This conversion is performed using an application running on the terminal or a web browser. The formatted request is sent to the server as an HTTP POST request. The input to this process is the text-based request, and the output is the formatted request data sent to the server.
[1413] Step 3:
[1414] Receiving a request
[1415] The server receives the HTTP request sent from the device using a server-side API endpoint. The received data is passed to the next analysis step. The input of this process is the formatted request data, and the output is data ready for request analysis.
[1416] Step 4:
[1417] Request Analysis
[1418] The server uses a request analysis module to analyze the received request. This analysis uses natural language processing (NLP) techniques, specifically libraries such as SpaCy and NLTK. From the request "I want to read a mystery that will cheer me up a little," the keywords "will cheer me up a little" and "mystery" are extracted. The input to this process is the prepared request data, and the output is the extracted keyword data.
[1419] Step 5:
[1420] Emotion analysis
[1421] The server launches a sentiment analysis module and analyzes the user's emotional state based on the request text. This analysis uses a generative AI model (e.g., the BERT model). From the request for "a mystery that will cheer me up a little," the emotion "I want to feel better" is identified. The input for this process is the request text data, and the output is the analyzed emotional data.
[1422] Step 6:
[1423] Request Correction
[1424] The server combines the results of the request analysis and the emotion analysis to correct the request information. For example, it adds the emotional element of "it cheers me up a little" and corrects the keyword to "an uplifting mystery." The inputs to this process are keyword data and emotion data, and the output is the corrected request data.
[1425] Step 7:
[1426] Database Access
[1427] The server uses a database access module based on the corrected keywords to send a query to the database. MySQL or PostgreSQL is used as the database. The query searches for book information related to "uplifting" and "mystery." The input to this process is the corrected request data, and the output is the searched book data.
[1428] Step 8:
[1429] Generating Book Recommendations
[1430] The server starts the recommendation engine and analyzes the book list retrieved from the database. It then selects the most suitable book from the retrieved book list. For example, it may select a "highly rated mystery novel that will leave you feeling energized after reading it." The input to this process is the searched book data, and the output is the recommended book data.
[1431] Step 9:
[1432] Response Generation
[1433] The server uses the response generation module to generate a message to the user recommending a book in natural language. For example, it generates a message such as "The book I recommend to you is 'Encouraging Mystery'." The input of this process is the recommended book data, and the output is the generated message data.
[1434] Step 10:
[1435] Sending and viewing recommendations
[1436] The server sends the generated message to the terminal in the form of an HTTP response. The terminal displays the received recommendation results on its user interface. The user can check the information about the recommended books. The input of this process is the generated message data, and the output is the information displayed on the user interface.
[1437] (Application example 2)
[1438] 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."
[1439] Conventional recommendation systems recommend relevant content based on user requests, but because they do not take the user's emotional state into account, they may not be able to provide the content the user truly desires. In the entertainment field in particular, content recommendations tailored to the user's emotions are required, but current systems have not been able to achieve this. Therefore, there is a need for a system that analyzes the user's emotions and provides content based on their emotional state.
[1440] 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.
[1441] In this invention, the server includes means for a user to input a request, request analysis means for analyzing the request, emotion analysis means for analyzing the analyzed request information and the user's emotional state, means for correcting the request information based on the emotion analysis results, means for accessing a database based on the corrected request information to obtain related information, recommendation engine means for making optimal recommendations based on the obtained information, and means for displaying the recommendation results to the user, thereby enabling optimal content recommendations that reflect the user's emotional state.
[1442] The "means by which a user inputs a request" refers to a device or software that provides an interface for a user to input desired content or conditions.
[1443] The "request analysis means" is a device or software that analyzes a request entered by a user and identifies the user's intentions and wishes.
[1444] "Emotion analysis means" refers to a device or software that identifies the user's emotional state from the input request and corrects the request content based on that emotion.
[1445] The "means for correcting request information based on emotion analysis results" refers to a device or software for appropriately correcting the input request content by reflecting the user's emotional state identified by the emotion analysis means.
[1446] The "means for accessing a database and retrieving related information" refers to a device or software for issuing a search query to a database based on the corrected request information and retrieving related content or information.
[1447] The "recommendation engine means" refers to a device or software that selects and recommends content that best suits the user's request and emotional state based on information obtained from a database.
[1448] The "means for displaying to the user" refers to a display device or software for visually presenting the recommended content or information to the user.
[1449] This invention relates to a content recommendation system based on user emotion analysis. The specific configuration and operation of the system will be described below.
[1450] System configuration
[1451] This system consists of a user terminal, a server, and a database. The user terminal refers to a smartphone, tablet, PC, etc., and provides an interface for users to input requests. The server is responsible for analyzing requests, analyzing emotions, and generating recommendation results. The database stores content information.
[1452] User operations
[1453] The user inputs a request for desired content via the terminal, for example, "I want to relax today, so I want to watch a good romance movie." This request is sent by the terminal to the server.
[1454] Server Processing
[1455] The server executes the process in the following steps:
[1456] 1. Request Analysis
[1457] The server's request analysis means analyzes the user's request using natural language processing (NLP) techniques. For example, it extracts keywords such as "I want to relax" and "romance" from the request.
[1458] 2. Emotion analysis
[1459] The server's sentiment analyzer identifies the user's emotional state from the request text. For example, to analyze the emotion "I want to relax," it uses the sentiment-analysis pipeline from the transformers library.
[1460] 3. Request Correction
[1461] Based on the results of the emotion analysis, the request information is corrected. Specifically, to match the emotion of "wanting to relax," the request is corrected to "comforting" content in the romance genre.
[1462] 4. Database Access
[1463] Based on the corrected request information, the server issues a search query to the database to retrieve relevant information.
[1464] 5. Recommendation Engine
[1465] The recommendation engine means of the server selects the most suitable content from the acquired information, for example, recommending "relaxing romance movies."
[1466] 6. Displaying the results
[1467] The server transmits the generated recommendation results to the terminal, which displays the results on a user interface and provides the user with information about the recommended content.
[1468] Specific examples
[1469] Specifically, the following shows the behavior when the user inputs, "I want to relax today, so I want to watch a good romance movie."
[1470] 1. The user enters a request.
[1471] 2. The device sends a request to the server.
[1472] 3. The server's request analysis method extracts "I want to relax" and "romance."
[1473] 4. The server's emotion analysis means analyzes the emotion "I want to relax."
[1474] 5. Based on the request analysis results and sentiment analysis results, the request is corrected to "a relaxing romance movie."
[1475] 6. Obtain the relevant content information from the database.
[1476] 7. The recommendation engine selects the most suitable content.
[1477] 8. The response generation module generates a message saying, "The movie I recommend for you is 'A relaxing romance movie.'"
[1478] 9. The server sends this message to the terminal, which displays it on its user interface.
[1479] Prompt Sentence Examples
[1480] User-supplied text: I want to relax today and watch a good romance movie.
[1481] In this way, the system can recommend optimal content based on sentiment analysis.
[1482] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1483] Step 1:
[1484] The user inputs a request. Using the device's interface, the user inputs a request that includes a specific wish. For example, the user might input, "I want to relax today, so I'd like to watch a good romance movie." This input is stored in text format on the device.
[1485] Step 2:
[1486] The terminal sends a request to the server. The terminal converts the request entered by the user into an appropriate format and sends it to the server as an HTTP request. The data sent is the user's request text.
[1487] Step 3:
[1488] The server receives the request and analyzes it. The server's request analysis means analyzes the user's request text using natural language processing (NLP) technology and extracts key keywords. For example, the keywords "I want to relax" and "romance" are extracted from the request. The results of this analysis are used as input for the next step.
[1489] Step 4:
[1490] The server analyzes the user's emotions. The server's emotion analysis means identifies the user's emotional state based on the extracted keywords. For example, the sentiment-analysis pipeline in the transformers library identifies the emotion "relaxed" from the request "I want to relax." The results of this emotion analysis are used to correct the request.
[1491] Step 5:
[1492] The server corrects the request information. By combining the results of the emotion analysis and the request analysis, the server corrects the request information. For example, to match the emotion of "I want to relax," the request is corrected to "A relaxing romance movie." This correction result is used for database access.
[1493] Step 6:
[1494] The server accesses the database to retrieve related information. Based on the corrected request information, the server's database access means issues a search query to the database to retrieve related content information. The retrieved data is a list of movies that match the category "comfortable romance movies."
[1495] Step 7:
[1496] The server selects the most suitable content using a recommendation engine. The recommendation engine means of the server analyzes the movie list retrieved from the database and selects the movie that best suits the user's request and emotional state. For example, it selects "relaxing romance movies" taking into account ratings and reviews.
[1497] Step 8:
[1498] The server generates the recommendation results. Based on the recommendation engine's selection results, the server generates a message containing detailed information about the movie recommended to the user. For example, it generates a message saying, "The movie recommended for you is a 'relaxing romance movie.'" This message is sent to the device.
[1499] Step 9:
[1500] The terminal displays the recommendation results to the user. The terminal displays the message received from the server on the user interface, allowing the user to check the information about the recommended movies.
[1501] 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.
[1502] 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.
[1503] 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 robot 414.
[1504] 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.
[1505] FIG. 9 illustrates 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 behaviors 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.
[1506] 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.
[1507] 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).
[1508] 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.
[1509] 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."
[1510] 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.
[1511] 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).
[1512] 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.
[1513] 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.
[1514] 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.
[1515] 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.
[1516] 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.
[1517] 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.
[1518] 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.
[1519] 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.
[1520] 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.
[1521] 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.
[1522] The following is further disclosed regarding the above embodiment.
[1523] (Claim 1)
[1524] a means for a user to input a request;
[1525] a request analysis means for analyzing the request;
[1526] A means for accessing a database based on the analyzed request information to obtain related information;
[1527] a recommendation engine means for making optimal recommendations based on the acquired information;
[1528] means for displaying the recommendation results to a user;
[1529] A system including:
[1530] (Claim 2)
[1531] 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing.
[1532] (Claim 3)
[1533] 2. The system according to claim 1, wherein the database access means dynamically retrieves relevant information based on a user request.
[1534] "Example 1"
[1535] (Claim 1)
[1536] a means for a user to input a request;
[1537] a request analysis means for analyzing the request;
[1538] A means for accessing a database based on the analyzed request information to obtain related information;
[1539] a recommendation engine means for making optimal recommendations based on the acquired information;
[1540] means for transmitting the generated response to a terminal for display to a user;
[1541] means for displaying the response received by the terminal on a user interface;
[1542] A system including:
[1543] (Claim 2)
[1544] 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing.
[1545] (Claim 3)
[1546] 2. The system according to claim 1, wherein the database access means dynamically retrieves relevant information based on a user request.
[1547] "Application Example 1"
[1548] (Claim 1)
[1549] a means for a user to input a request;
[1550] a request analysis means for analyzing the request;
[1551] A means for accessing a database based on the analyzed request information to obtain related information;
[1552] a recommendation engine means for making optimal recommendations based on the acquired information;
[1553] means for providing the recommendation results to a user;
[1554] a means for displaying location information of a real-world item;
[1555] A system including:
[1556] (Claim 2)
[1557] 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing.
[1558] (Claim 3)
[1559] 2. The system according to claim 1, wherein the database access means dynamically retrieves relevant information based on a user request.
[1560] "Example 2: Combining Emotion Engines"
[1561] (Claim 1)
[1562] a means for a user to input a request;
[1563] a request analysis means for analyzing the request;
[1564] emotion analysis means for analyzing the user's emotional state based on the request;
[1565] a means for correcting the request based on the analyzed request information and emotion information;
[1566] a means for accessing a database based on the corrected request information to obtain related information;
[1567] a recommendation engine means for making optimal recommendations based on the acquired information;
[1568] means for displaying the recommendation results to a user;
[1569] A system including:
[1570] (Claim 2)
[1571] 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing.
[1572] (Claim 3)
[1573] 2. The system according to claim 1, wherein the database access means dynamically retrieves relevant information based on a user request.
[1574] (Claim 4)
[1575] 10. The system of claim 1, wherein the emotion analysis means uses a generative AI model to identify the user's emotional state.
[1576] (Claim 5)
[1577] 2. The system according to claim 1, further comprising means for generating a response based on the corrected request information and conveying a recommendation to the user in natural sentences.
[1578] "Application example 2 when combining emotion engines"
[1579] (Claim 1)
[1580] a means for a user to input a request;
[1581] a request analysis means for analyzing the request;
[1582] emotion analysis means for analyzing the analyzed request information and the user's emotional state;
[1583] A means for correcting request information based on the emotion analysis result;
[1584] a means for accessing a database based on the corrected request information to obtain related information;
[1585] a recommendation engine means for making optimal recommendations based on the acquired information;
[1586] means for displaying the recommendation results to a user;
[1587] A system including:
[1588] (Claim 2)
[1589] 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing, and the emotion analysis means identifies the user's emotional state based on the intention.
[1590] (Claim 3)
[1591] 2. The system of claim 1, wherein the database access means dynamically retrieves relevant information based on the user's request and emotional state. [Explanation of symbols]
[1592] 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 a user to input a request; a request analysis means for analyzing the request; A means for accessing a database based on the analyzed request information to obtain related information; a recommendation engine means for making optimal recommendations based on the acquired information; means for displaying the recommendation results to a user; A system including:
2. 2. The system according to claim 1, wherein the request analysis means analyzes the user's intention using natural language processing.
3. 2. The system of claim 1, wherein the database access means dynamically retrieves relevant information based on a user request.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A