system
A system that manages book data and adjusts reading volume based on user progress and emotional state, using natural language processing, helps users maintain reading habits by providing tailored text portions daily.
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
Many individuals struggle to maintain reading habits due to the overwhelming length of books and papers, often giving up halfway through, necessitating a system that adjusts reading volume to prevent strain.
A system that manages book data owned by users, extracts text based on specified daily reading volume, displays it on a user terminal, and records progress to adjust future reading volumes, using a server, terminals, and natural language processing models.
Enables users to comfortably continue reading without straining themselves by managing reading progress and adjusting volume accordingly, thereby maintaining reading habits.
Smart Images

Figure 2026041523000001_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] Many people are not used to reading, and are overwhelmed by the sheer number of pages in long books and papers, making it difficult for them to continue. As a result, even if they start reading, they give up halfway through and end up not continuing. To address this issue, a system is needed that can adjust the amount of reading and allow users to continue reading without straining themselves. [Means for solving the problem]
[0005] The present invention solves the above problems by providing a means for uploading book data owned by a user, a means for extracting text data for a volume of reading based on the volume specified by the user, a means for displaying the extracted text data on the user's terminal, and a means for recording and managing the user's reading progress. Specifically, the system displays the volume of reading set by the user every day and provides text that matches that volume, making it easy to continue reading. Furthermore, by managing the user's reading progress, the system can appropriately adjust the volume of reading for the next day, allowing the user to continue reading without straining themselves.
[0006] "Book data" refers to electronic data of books owned by the user, and formats include PDF, ePub, text files, etc.
[0007] "Reading volume" refers to the number of characters or pages a user sets as the number of times they want to read per day.
[0008] "Text data" refers to character strings and sentences extracted from book data.
[0009] A "user terminal" is an electronic device used by a user, including a smartphone, tablet, or PC.
[0010] "Reading progress" refers to information indicating how far the user has read the book.
[0011] "Means for uploading" refers to the functions and processes that allow users to send book data to the server.
[0012] "Means for extracting" refers to a function or process for selecting corresponding text data from book data based on a specified reading volume.
[0013] "Display means" refers to a function or process for displaying the extracted text data on the screen of a user terminal.
[0014] "Means for recording and managing" refers to the functions and processes for tracking a user's reading progress and reflecting it on future reading. [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 a system that manages book data owned by a user online and provides text according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0037] Book Upload
[0038] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[0039] Book Analysis
[0040] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[0041] Setting your reading volume
[0042] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[0043] Daily Text Generation
[0044] The server checks the user's reading progress and determines the next text position to display. Based on the specified reading volume (e.g., 500 characters), it extracts the text for that day. The server prepares the extracted text data for transmission to the user's terminal.
[0045] Displaying Text
[0046] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[0047] Progress Updates
[0048] When a user finishes reading for the day, they indicate that they have finished reading on their device. The device then sends this progress information to the server, which records the user's reading progress. The server then adjusts the text displayed for the next day appropriately, allowing the user to continue reading comfortably the next day.
[0049] Specific examples
[0050] Example 1: Novel
[0051] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0052] Example 2: A paper
[0053] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. Once the user has read three pages of text on their device for that day, the server prepares three pages of text for the next day. This allows the user to comfortably read the entire paper every day.
[0054] In this way, it is an object of the present invention to enable users to maintain their reading habits without straining themselves.
[0055] The processing flow will be explained below.
[0056] Step 1:
[0057] Select the book data owned by the user.
[0058] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[0059] Step 2:
[0060] The terminal uploads the selected book data to the server.
[0061] The terminal transmits the selected book data to the server, and the server receives the data.
[0062] Step 3:
[0063] The server stores the book data and performs analysis.
[0064] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[0065] Step 4:
[0066] The user sets the amount of reading.
[0067] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[0068] Step 5:
[0069] The terminal sends the setting information to the server.
[0070] The terminal transmits the amount of reading set by the user (for example, 500 characters) to the server.
[0071] Step 6:
[0072] The server stores the configuration information.
[0073] The server stores user preferences and records each user's reading volume.
[0074] Step 7:
[0075] The server calculates the location of the text extract for each day.
[0076] The server checks the user's progress and calculates the starting position of the next text to display based on the specified amount of reading.
[0077] Step 8:
[0078] The server extracts the text data.
[0079] The server extracts the text data for that day from the calculated starting position based on a set reading amount (e.g., 500 characters).
[0080] Step 9:
[0081] The server transmits the extracted text data to the terminal.
[0082] The server sends a day's worth of text data to the user's device.
[0083] Step 10:
[0084] The terminal displays the text data.
[0085] The terminal displays the received text data on the screen, allowing the user to begin reading.
[0086] Step 11:
[0087] The user finishes reading.
[0088] The user indicates at the terminal that he has completed his reading for the day.
[0089] Step 12:
[0090] The terminal sends progress information to the server.
[0091] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[0092] Step 13:
[0093] The server updates the progress.
[0094] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[0095] Example 1
[0096] 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."
[0097] Conventional reading management systems lack the functionality to efficiently manage the book data owned by the user and provide appropriate texts tailored to the user's reading habits. As a result, users must adjust their reading volume themselves, making it difficult to maintain a consistent reading habit. Furthermore, reading progress management is often done manually, making efficient reading management difficult. To solve these issues, a system is needed that automatically manages reading volume and efficiently records and manages users' reading progress.
[0098] 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.
[0099] In this invention, the server includes means for uploading book data owned by the user, means for the server to analyze the book data and extract text data and meta information and store them in a database, means for the user to set the amount of reading they want to do per day and send it to the server, means for the server to check the user's reading progress and extract text based on the specified amount of reading, means for the server to display the extracted text data on the user terminal, and means for recording and managing the user's reading progress. This allows the user to effortlessly manage their reading volume and efficiently maintain their reading habits.
[0100] "User" refers to a person who uses this system.
[0101] "Book data" refers to e-book files (PDF, ePub, etc.) owned by the user.
[0102] The "uploading means" refers to a device or program that provides a function for a user to send book data to a server.
[0103] The "analyzing means" refers to a program or algorithm that the server uses to extract text data and meta information from book data.
[0104] "Text data" is text information of the contents extracted from the book data.
[0105] "Meta information" is auxiliary information about book data (such as the number of characters and the number of pages).
[0106] A "database" is a system for managing information stored in a server.
[0107] "Reading volume" refers to the number of characters or pages a user wants to read per day.
[0108] The "extracting means" is a program or algorithm that the server uses to extract text data based on the specified reading volume.
[0109] The "display means" refers to a device or program that allows the terminal to show the extracted text data to the user.
[0110] "Reading progress" is progress data about how much a user has read.
[0111] "Means for recording and managing" refers to a program or system that allows the server to save the user's reading progress and adjust the amount of reading for the next day.
[0112] The present invention is a system that manages book data owned by users online and provides texts according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0113] Hardware and Software Examples
[0114] Server: Cloud server (e.g., Amazon Web Services (AWS(R)) EC2 instance)
[0115] Device: PC or smartphone used by the user
[0116] Analysis software: Text analysis library (e.g., Apache Tika)
[0117] Database: Cloud database service (e.g., AWS RDS)
[0118] Storage: Cloud storage service (e.g. Amazon S3)
[0119] Explanation of program processing
[0120] Book Upload
[0121] The user uses the device to select and upload the book data they own (for example, e-book files such as PDF or ePub). The device then sends the book file selected by the user to the server as an HTTP request. The server saves the received book data in cloud storage, associates it with the user ID, and records it in a database.
[0122] Book Analysis
[0123] The server analyzes the uploaded book data using analysis software (e.g., Apache Tika) and extracts the text data from the book. It also calculates meta-information such as the number of characters and pages in the entire book and stores it in a database. This allows the server to accurately extract text according to the reading volume specified by the user later.
[0124] Setting your reading volume
[0125] The user uses their device to set the number of characters or pages they want to read per day. For example, they might set "I want to read 500 characters per day." This setting information is sent from the device to the server, which then records the setting information for each user in a database. This allows the server to determine how much text to provide to the user each day.
[0126] Daily Text Generation
[0127] The server checks the user's reading progress in the database and determines the next text to be provided. At this time, it extracts the text for that day based on the specified reading amount (e.g., 500 characters). The extracted text is temporarily stored and ready to be provided to the user.
[0128] Displaying Text
[0129] The server sends the generated text data for one day to the user's device, which then displays the received text data on the screen. This allows the user to read the set amount each day.
[0130] Progress Updates
[0131] When a user finishes reading for the day, they press the "Finish Reading" button on their device. This information is sent from the device to the server, which records the user's reading progress in a database. The next day, the server will be able to provide new text based on the progress information.
[0132] Specific examples
[0133] Example 1: Novel
[0134] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares a new 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0135] Example 2: A paper
[0136] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. When the user finishes reading those three pages on their device, they press a "Done reading" button. The server prepares three new pages of text for the next day. The user can comfortably read the entire paper every day.
[0137] Prompt Sentence Examples
[0138] Example prompts using a generative AI model:
[0139] For novels:
[0140] Generate 500 characters of text every day.
[0141] For papers:
[0142] Generate the following three pages of text based on the number of characters per page:
[0143] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0144] Step 1:
[0145] The user opens the file selection screen on the device and selects their book data (e.g., PDF or ePub file). The device then obtains the path to the specified file. The input is the book data, and the output is the file path.
[0146] Step 2:
[0147] The terminal sends the selected book file to the server as an HTTP request, which includes the user ID and file path. The input is the file path and user ID, and the output is the transmission completion status.
[0148] Step 3:
[0149] The server saves the received book data in cloud storage and records it in a database along with the associated user ID. Specifically, it saves it in a storage such as Amazon S3 and records its URL in the database. The input is the book data and the user ID, and the output is the save completion status and the success of the database record.
[0150] Step 4:
[0151] The server uses a text analysis library (e.g., Apache Tika) to analyze the stored book data and extracts the text data from the book. The input is the URL of the book data, and the output is the extracted text data.
[0152] Step 5:
[0153] The server calculates meta information such as the number of characters and pages of the entire book and stores it in a database. Specifically, it analyzes the number of characters and pages using Python or similar. The input is the extracted text data, and the output is the calculated meta information.
[0154] Step 6:
[0155] The user enters the number of characters or pages they want to read per day on the device's settings screen. For example, they might set it to "I want to read 500 characters per day." The input is the number of characters or pages they want to read, and the output is the setting information.
[0156] Step 7:
[0157] The terminal sends the setting information entered by the user to the server as an HTTP request. The request includes the user ID and setting information. The input is the setting information, and the output is a transmission completion status.
[0158] Step 8:
[0159] The server stores the received setting information in a database. This allows the server to track the amount of reading customized for each user. The input is the setting information, and the output is the record status in the database.
[0160] Step 9:
[0161] The server checks the user's reading progress from the database and determines the position of the next text to be provided. For example, if the user has read 500 characters up to the previous day, it calculates the position of the next 500 characters. The input is progress information and setting information. The output is the position of the next text.
[0162] Step 10:
[0163] The server extracts the text for that day based on the specified reading volume (e.g., 500 characters). The extracted text is temporarily stored. The input is the position and setting information of the next text, and the output is the text for that day.
[0164] Step 11:
[0165] The server sends the generated text data for one day to the user terminal. Here, the text data is sent as an HTTP response. The input is the text data for that day, and the output is the transmission completion status.
[0166] Step 12:
[0167] The terminal displays the received text data on the screen, allowing the user to read a set amount of text each day. The input is the received text data, and the output is the displayed text.
[0168] Step 13:
[0169] When a user finishes reading for the day, they press the "Reading Complete" button on the terminal. This input is recorded on the terminal. The input is the pressing of the reading completion button, and the output is the completion information.
[0170] Step 14:
[0171] The terminal sends an HTTP request containing "reading completion" information to the server. The request includes the user ID and progress information. The input is the reading completion information, and the output is the sending completion status.
[0172] Step 15:
[0173] The server saves the received progress information in a database and makes the necessary adjustments to the reading for the next day. This allows the user to continue reading comfortably the next day. The input is reading progress information, and the output is the recording status in the database.
[0174] (Application example 1)
[0175] 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."
[0176] In today's busy lifestyles, many people find it difficult to find time to read. Without a proper system to manage their reading volume, users find it difficult to maintain their reading progress and maintain a daily reading habit. There is a need for a system that can solve this problem and enable users to continue their daily reading efficiently and comfortably.
[0177] 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.
[0178] In this invention, the server includes means for uploading book data owned by the user, means for extracting text data for a volume of reading based on a volume specified by the user, means for displaying the extracted text data on the user terminal, means for recording and managing the user's reading progress, means for analyzing the book data using a natural language processing model on the server and generating meta information, means for providing a setting screen for the user to set the volume of reading, and means for extracting text based on the user's setting each day and preparing the volume for the next day. This allows the user to easily set the volume of reading and appropriately manage their daily reading progress, making it possible to maintain their reading habit without strain.
[0179] "Book data" refers to electronic book files and digital text data owned by the user.
[0180] "Uploading" is the act of a user sending book data from their own terminal to a server.
[0181] "Reading volume" is the number of characters or pages a user wants to read per day.
[0182] "Text data" is continuous character information extracted from book data.
[0183] A "user terminal" is an electronic device used by a user (for example, a smartphone or tablet).
[0184] "Reading progress" is information indicating how far the user has progressed in reading a book.
[0185] A "natural language processing model" is a computer program for analyzing and understanding text data.
[0186] "Meta information" refers to accompanying information such as the number of characters and pages of the entire book.
[0187] The "settings screen" is an interface that allows the user to set the amount of reading within the application.
[0188] "Extraction" is the act of extracting the necessary text data based on the amount of reading specified by the user.
[0189] The system of the present invention manages book data owned by a user and provides text every day according to a specified reading volume, thereby supporting continuous reading.
[0190] Server Features
[0191] Uploading book data
[0192] A user uploads the book data they own to the server using their device. The book data is an e-book file such as a PDF or ePub, and this data is sent to the server and stored in association with the user ID.
[0193] Book Analysis
[0194] The server uses programming languages such as Python and natural language processing (NLP) models such as spaCy and GPT-3 (registered trademark) to analyze the text from the uploaded book data, generate meta-information such as the number of characters and pages of the entire book, and store it in a database (e.g., MySQL (registered trademark) or PostgreSQL).
[0195] Setting your reading volume
[0196] Users use the device's settings screen to specify the number of characters or pages they want to read per day, and this setting information is sent to the server, which records the user's preferences in a database.
[0197] Daily Text Generation
[0198] The server manages the user's reading progress and generates daily text based on the set reading volume. The generated text is sent to the user's device. It uses Python and natural language processing models such as GPT-3.
[0199] Device Features
[0200] Displaying Text
[0201] The user's device receives the daily text data sent from the server and displays it so that the user can start reading. This display uses platforms such as Swift (iOS) and Kotlin (ANDROID (registered trademark)).
[0202] Reading progress updates
[0203] When a user finishes reading for the day, the device sends that information to the server, which then updates the user's reading progress and adjusts the amount of text for the next day appropriately.
[0204] Hardware and software used
[0205] Hardware: Smartphones, tablets
[0206] software:
[0207] Server side: Python, Django (or Flask), SQL (MySQL / PostgreSQL)
[0208] Client-side: Swift (iOS), Kotlin (Android), React Native (cross-platform)
[0209] Natural Language Processing (NLP): spaCy, NLTK, gensim, GPT-3
[0210] Specific examples
[0211] Example 1: Novel
[0212] A user uploads a novel they own, "Novel A," to the system. If the user sets a daily reading limit of 500 characters, the server extracts 500 characters of text every day and sends them to the user's device. The user can read 500 characters per day using the device, and the next day's 500 characters are automatically prepared based on the user's progress.
[0213] Example 2: A paper
[0214] A user uploads their own paper, "Paper B," to the system. If the user sets a reading limit of three pages per day, the server extracts three pages of text from the analysis results and sends them to the user's device. The user can read three pages per day using their device, and the next three pages are automatically prepared based on their progress.
[0215] Prompt Sentence Examples
[0216] The following prompt sentences are used:
[0217] Extract text from uploaded PDF files and calculate the total number of pages in a book.
[0218] Next, design a system that extracts and serves daily text based on a specified reading volume (e.g., 500 characters per day).
[0219] Also, consider ways for users to update their reading progress each day and adjust the amount of text they consume for the next day based on that.
[0220] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0221] Step 1:
[0222] Book data is uploaded to the server from the user terminal.
[0223] Specifically, a user opens the application on their device, selects an e-book file (e.g., PDF or ePub), and presses the upload button. This sends the book data from the device to the server. The input is the e-book file selected by the user, and the output is a file saved on the server.
[0224] Step 2:
[0225] The server analyzes the received book data.
[0226] The server uses Python and natural language processing libraries (e.g., spaCy and GPT-3) to extract text from book data. The extracted text is stored in a database along with meta information such as the number of characters and pages. The input is the uploaded book data, and the output is the extracted text data and meta information.
[0227] Step 3:
[0228] The user sets the amount of reading.
[0229] The user uses the device's settings screen to specify the number of characters or pages they want to read per day. This setting information is sent to the server and recorded in a database. The input is the user's set reading volume, and the output is the setting information saved on the server.
[0230] Step 4:
[0231] The server generates the daily text.
[0232] The server extracts the text for the specified reading amount based on the user's settings and progress information. Python and natural language processing models such as GPT-3 are used here. The extracted text is stored in a database and prepared for transmission to the user's device. The input is the user's settings and progress information, and the output is the text the user should read next.
[0233] Step 5:
[0234] Text data is sent from the server to the user terminal.
[0235] The server sends the daily reading quota to the user's terminal. The user can display the text on the terminal and start reading. The input is the text data generated by the server, and the output is the text displayed on the user's terminal.
[0236] Step 6:
[0237] The user updates their reading progress.
[0238] When a user finishes reading for the day, they press the "Finish Reading" button to send progress information from their device to the server. The server updates the database based on this information and adjusts the amount of text for the next day appropriately. The input is the user's reading completion information, and the output is the updated server's progress information.
[0239] 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.
[0240] This invention combines a system that manages a user's book data online and provides text according to the user's designated reading volume with an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[0241] Book Upload
[0242] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[0243] Book Analysis
[0244] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[0245] Setting your reading volume
[0246] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[0247] Recognition of emotional states
[0248] The emotion engine recognizes the user's emotional state. When the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the server. The server analyzes this data and recognizes the user's emotional state.
[0249] Adjusting your reading volume
[0250] The server adjusts the reading volume based on the user's recognized emotional state. For example, if the user's emotional state indicates stress or fatigue, the server reduces the set reading volume, and if the user's emotional state indicates relaxation or excitement, the server increases the reading volume. This information is reflected in the extraction of the next text to display.
[0251] Daily Text Generation
[0252] The server checks the user's reading progress and emotional state, determines the next text position to display, extracts the text for that day based on the specified reading volume, and prepares the extracted text data for transmission to the user's terminal.
[0253] Displaying Text
[0254] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[0255] Progress Updates
[0256] When a user finishes reading for the day, they indicate that the day's reading is complete on their device. The device sends this progress information to the server, which records the user's reading progress. The server saves the starting position of the text to be displayed the next day, preparing for the next day's reading.
[0257] Specific examples
[0258] Example 1: Novel
[0259] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. If the emotion engine detects the user's emotional state and indicates stress, the server reduces the reading amount for that day to 400 characters and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0260] Example 2: A paper
[0261] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. If the emotion engine detects the user's emotional state and indicates a relaxed state, the server increases the reading amount for that day to four pages and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. This allows the user to comfortably read the entire paper every day.
[0262] In this way, the object of the present invention is to dynamically adjust the amount of reading depending on the user's emotional state, allowing the user to maintain a reading habit without straining themselves.
[0263] The processing flow will be explained below.
[0264] Step 1:
[0265] Select the book data owned by the user.
[0266] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[0267] Step 2:
[0268] The terminal uploads the selected book data to the server.
[0269] The terminal transmits the selected book data to the server, and the server receives the data.
[0270] Step 3:
[0271] The server stores the book data and performs analysis.
[0272] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[0273] Step 4:
[0274] The server accepts the user's reading volume setting.
[0275] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[0276] Step 5:
[0277] The terminal sends the setting information to the server.
[0278] The device sends the user's set reading amount (e.g., 500 characters) to the server, which stores this information.
[0279] Step 6:
[0280] An emotion engine recognizes the user's emotional state.
[0281] Before the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the emotion engine.
[0282] Step 7:
[0283] The server analyzes the data for the emotion engine.
[0284] The emotion engine in the server analyzes the received data and recognizes the user's emotional state.
[0285] Step 8:
[0286] The server regulates the amount of reading.
[0287] Based on the perceived emotional state, the server adjusts the user's reading preference, for example, decreasing the reading preference if the emotional state indicates stress and increasing the reading preference if the emotional state indicates relaxation.
[0288] Step 9:
[0289] The server extracts the text based on the adjusted reading volume.
[0290] The server extracts the text data for that day based on an adjusted reading volume (e.g., 400 characters).
[0291] Step 10:
[0292] The server transmits the extracted text data to the terminal.
[0293] The server sends a day's worth of text data to the user's device.
[0294] Step 11:
[0295] The terminal displays the text data.
[0296] The terminal displays the received text data on the screen, allowing the user to begin reading.
[0297] Step 12:
[0298] The user finishes reading.
[0299] The user indicates at the terminal that he has completed his reading for the day.
[0300] Step 13:
[0301] The terminal sends progress information to the server.
[0302] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[0303] Step 14:
[0304] The server updates the progress.
[0305] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[0306] Example 2
[0307] 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."
[0308] Conventional online book management systems have the problem that users cannot individually adjust the amount of reading they consume, and the reading experience does not take into account the user's emotional state, making it difficult to maintain a reading habit. The present invention aims to provide a system that automatically adjusts the amount of reading according to the user's emotional state, improving the user's reading experience and supporting a continuous reading habit.
[0309] The specification process by the specification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading digital books owned by the user, means for analyzing text data of the uploaded digital books and acquiring metadata (number of characters, number of pages, etc.), means for extracting text data for a volume designated by the user based on the volume designated by the user, means for collecting the user's biometric data, facial expression, and tone of voice to recognize the user's emotional state, means for adjusting the volume of reading based on the recognized emotional state, means for displaying re-extracted text data based on the adjusted volume of reading on the user terminal, and means for recording and managing the user's reading progress. This makes it possible to adjust the volume of reading taking the user's emotional state into consideration and optimize the reading experience.
[0310]
[0311] A "digital book" is a book in electronic format, and is book data provided in file formats such as PDF and ePub.
[0312] "Uploading means" refers to the function or process by which a user transfers their digital books to an online server.
[0313] The "means of analysis" is a function or process that extracts text data from uploaded digital books and obtains metadata such as the number of characters and the number of pages.
[0314] An "extracting means" is a function or process that selects a specific amount of text data based on a user-specified amount of reading.
[0315] The "means for recognizing emotional state" is a function or process that collects and analyzes the user's biometric data, facial expressions, and tone of voice to determine the user's emotional state.
[0316] The "adjusting means" is a function or process that modifies the pre-set reading volume to an appropriate amount based on the perceived emotional state.
[0317] The "means for displaying" is a function or process for presenting the extracted text data based on the adjusted reading volume on the screen of the user terminal.
[0318] The "means for recording and managing" is a function or process for saving the user's reading progress in a database and managing the reading start position for the next day.
[0319] "Biometric data" is information that indicates the physiological state of the user, and includes data such as heart rate and skin temperature.
[0320]
[0321] This invention combines a system that manages a user's digital books online, extracts and provides text according to the user's designated reading volume, and an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[0322] Book Upload
[0323] Users upload their digital books (e.g., e-book files such as PDF or ePub) to the server via their devices. The devices send the book files selected by the user to the server using an HTTP request. The server stores the received book data in a specific directory and records the file path in a database, associating it with the user ID.
[0324] Book Analysis
[0325] The server analyzes the uploaded digital book data and extracts text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). Additionally, the server calculates metadata such as the number of characters and pages in the entire book and stores this in a database.
[0326] Setting your reading volume
[0327] The user sets the number of characters or pages they want to read per day on their device. For example, if they specify "I want to read 500 characters per day," the device sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database.
[0328] Recognition of emotional states
[0329] When a user starts reading, the device uses a camera, microphone, and sensors to collect the user's facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature), and sends this data to the server in real time. The server then uses the received data to activate an emotion engine and recognize the user's emotional state. This process uses an emotion recognition API (e.g., Microsoft® Azure® Emotion API, Affectiva).
[0330] Adjusting your reading volume
[0331] The server adjusts the set reading volume appropriately based on the analysis results of the emotion engine. For example, if the user is feeling stressed, the server will reduce the reading volume, and if the user is feeling relaxed, the server will increase the reading volume.
[0332] Daily Text Generation
[0333] The server determines the text for that day based on the user's reading progress and emotional state, determines the text extraction position based on the specified reading volume, and prepares to extract and send an appropriate amount of text data to the terminal.
[0334] Displaying Text
[0335] The server sends the generated text data to the user's terminal, which displays the received text data on the screen in a format that is easy for the user to read, and the user continues to read the displayed text.
[0336] Progress Updates
[0337] When a user finishes reading for the day, they press the "Finish Reading" button on their device. The device then sends reading progress information to the server, which records this progress information in a database. The server also manages the starting position for the next day's reading.
[0338] Specific examples
[0339] Example 1: Novel
[0340] A user uploads "Novel A" and sets the goal of reading 500 characters per day. If the emotion engine detects that the user is stressed, the server reduces the reading volume for that day to 400 characters and extracts the text. Each time the user finishes reading this text on their device, the server prepares the text for the next day.
[0341] Example 2: A paper
[0342] A user uploads "Paper B" and sets the goal of reading three pages per day. If the emotion engine detects a relaxed state, the server increases the reading limit for that day to four pages and extracts the text. This allows the user to comfortably read the paper every day.
[0343] Prompt Sentence Examples
[0344] Describe a system that manages a user's book collection online, provides text based on the user's specified reading volume, and dynamically adjusts the reading volume based on the user's emotional state.
[0345] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0346]
[0347] Step 1:
[0348] The user selects a digital book file (e.g. PDF, ePub) using the terminal. The terminal sends the selected book file to the server via an HTTP request. The server receives the file and stores it in a specific directory. The input of this process is the book file, and the output is the path of the book file stored in the server.
[0349] Step 2:
[0350] The server analyzes the uploaded digital book file and extracts the text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). The server calculates metadata such as the number of characters and pages for the entire book and stores it in a database. The input for this process is the book file, and the output is the extracted text data and metadata.
[0351] Step 3:
[0352] The user uses the device to set the number of characters or pages they want to read per day. For example, they might specify "I want to read 500 characters every day." The device then sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database. The input to this process is the user's setting information, and the output is the setting information recorded in the database.
[0353] Step 4:
[0354] When a user starts reading, the device uses a camera, microphone, and sensors to collect facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature). The device then transmits the collected data to a server in real time. The server then uses the received data to run an emotion engine and recognize the user's emotional state. The input to this process is the user's biometric data, and the output is the recognized emotional state.
[0355] Step 5:
[0356] The server adjusts the set reading volume based on the recognized emotional state. For example, if the user is stressed, the server reduces the reading volume, and if the user is relaxed, it increases the reading volume. An algorithm is used to calculate and reset the optimal reading volume. The inputs to this process are the emotional state and the initial reading volume, and the output is the adjusted reading volume.
[0357] Step 6:
[0358] The server checks the user's reading progress and emotional state and determines the text generation position for that day. Based on the specified reading volume, it extracts the required amount of text data. The server then prepares the extracted text data for transmission to the terminal. The input of this process is the user's progress information and the adjusted reading volume, and the output is the text data ready to be sent.
[0359] Step 7:
[0360] The server sends the generated text data to the user's terminal. The terminal displays the received text data on its screen in an easy-to-read format. The user then reads the displayed text. The input of this process is the text data, and the output is the displayed text on the terminal.
[0361] Step 8:
[0362] When a user finishes reading for the day, they press the "Finish reading" button on their device. The device sends the reading progress information to the server. The server records this progress information in a database and manages the reading start position for the next day. The input of this process is the user's reading completion information, and the output is the updated reading progress information.
[0363] (Application example 2)
[0364] 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."
[0365] Conventional user data management systems provide data uniformly without considering the user's emotional state, making it difficult to use data that adapts to the user's fatigue or stress. Furthermore, optimization of the user experience in the food delivery field has lagged, and menu suggestions based on the user's emotions are not made. This has led to the issue of not being able to provide optimal suggestions based on the user's true needs, resulting in a decline in user satisfaction.
[0366] 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.
[0367] In this invention, the server includes a means for uploading data owned by the user, a means for extracting an amount of data based on a usage amount specified by the user, a means for displaying the extracted data on the user terminal, a means for recording and managing the user's usage progress, an emotion recognition means for recognizing the user's emotional state, and a means for adjusting the usage amount based on the recognized emotional state. This makes it possible to provide data adapted to the user's emotional state, allowing the user to have a more comfortable data usage experience. Furthermore, by making optimal suggestions based on the user's emotional state, user satisfaction can be improved.
[0368] "User-Owned Data" means information that is in a digital format owned by a User and available for personal or commercial use.
[0369] An "uploading means" is software or hardware that has the function of sending data owned by a user to a server or cloud service.
[0370] A "specified amount of usage" is a specific amount of data that a user wants to use or consume within a specific time period.
[0371] A "means for extracting data" is a method or device for extracting necessary data from a database or storage based on a specified usage amount.
[0372] "User terminal" refers to any device that can be directly operated by a user, including smartphones, tablets, and PCs.
[0373] A "displaying means" is software or hardware for visually presenting data on a user terminal.
[0374] "Means for recording and managing usage progress" is a function for measuring the extent to which a user has used data, and storing and analyzing that history.
[0375] The "emotion recognition means" is a device or software that analyzes the user's facial expression, tone of voice, biometric data, etc., to evaluate the user's emotional state in real time.
[0376] A "means for adjusting usage" is a function for dynamically changing the amount of data provided to a user based on a recognized emotional state.
[0377] A "means for making suggestions" is a device or software that presents optimal data usage methods and options based on the user's emotional state.
[0378] This invention is a system that manages data owned by a user online and dynamically adjusts the amount of data used depending on the user's emotional state. This system is composed of a server, a terminal, and a user. Specifically, it is implemented in the following way.
[0379] Uploading data
[0380] Users upload their data to the server through their devices. The devices then process the data files selected by the users to send them to the server. The server then stores the received data and records it in association with the user ID.
[0381] Data analysis
[0382] The server then analyzes the uploaded data and extracts text data. The extracted data is provided according to the usage amount specified by the user. The server also calculates the total data volume and meta information and stores it in a database.
[0383] Usage setting
[0384] The user sets the daily usage amount, such as the number of characters or pages, on the device. The device sends this setting information to the server, which records it. This allows the server to know how much data to provide to the user each day.
[0385] Recognition of emotional states
[0386] The emotion recognition means is used to recognize the user's emotional state. Specifically, when a user starts using the system, the device collects the user's emotional data (e.g., facial expressions, tone of voice, and biometric data) through a camera and microphone and transmits them to the server. The server analyzes this data and evaluates the user's emotional state in real time.
[0387] Usage adjustment
[0388] The server adjusts the set amount of data usage based on the user's perceived emotional state. For example, if the user is stressed, the amount of data is reduced, and if the user is relaxed, the amount is increased. This adjustment information is reflected in the next data extraction to be displayed.
[0389] Daily data generation
[0390] The server checks the user's usage progress and emotional state, determines the next data location to display, extracts the amount of data for that day based on the specified usage amount, and prepares the extracted data for transmission to the user's terminal.
[0391] Viewing Data
[0392] The server sends the generated data for one day to the user's device. The device displays the received data on the screen and allows the user to start using the service. This allows the user to comfortably manage their daily usage volume.
[0393] Progress Updates
[0394] When a user finishes using data for the day, they indicate that the day's usage is complete on their device. The device then sends this progress information to the server, which records the user's usage progress. The server then saves the start position of the data to be displayed the next day, preparing for the next day's usage.
[0395] Specific examples
[0396] Example 1: Food delivery
[0397] When a user accesses a food delivery app, their emotional state is captured via the camera and microphone. If the emotion engine recognizes the user's emotional state as "stressed," it automatically suggests food items with a relaxing effect (for example, matcha or chocolate-based sweets).
[0398] Example prompt sentence:
[0399] I need a food delivery application where the user understands his / her emotional state using an emotion engine. I want to suggest relaxing menu items based on the user's emotional state. For example, if a stressful state is detected, I want to show menu items with a relaxing effect. Please provide an example of a model that detects emotional states and a concrete example of food suggestions.
[0400] This invention enables users to use data optimally according to their emotional state, improving the quality of their data use experience.
[0401] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0402] Step 1:
[0403] Uploading data owned by users
[0404] Users upload their data to the server through their devices. The input is a data file (e.g., a PDF or image file) selected by the user. The device then sends this data file to the server. The server saves the received data and records it in association with the user ID. This allows the data to be stored securely online.
[0405] Step 2:
[0406] Data analysis
[0407] The server parses the uploaded data and extracts the text data. The input is the uploaded data file. The server uses optical character recognition (OCR) software to extract the text and stores the extracted text data in a database. This allows the server to extract the data accurately according to the usage amount specified by the user later.
[0408] Step 3:
[0409] Usage setting
[0410] The user sets the daily usage amount on the device. For example, the user may specify "I want to use 500 characters per day." This setting information is sent from the device to the server, which records it. This allows the server to know how much data to provide to the user each day.
[0411] Step 4:
[0412] Recognition of emotional states
[0413] The emotion recognition means detects the user's emotional state. Inputs include the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature). The device collects this data using a camera and sensors and sends it to the server. The server uses an emotion recognition engine (e.g., a deep learning model) to analyze and recognize the emotional state. For example, it can determine whether the user is stressed or relaxed.
[0414] Step 5:
[0415] Usage adjustment
[0416] The server adjusts the set usage amount based on the recognized emotional state of the user. The input is the emotional state analyzed by the server and the original usage amount setting. The output is the adjusted usage amount. For example, if the user is stressed, the usage amount is reduced to 400 characters, and if they are relaxed, it is increased to 600 characters. This information is reflected in the next data to be extracted.
[0417] Step 6:
[0418] Daily data generation
[0419] The server checks the user's usage progress and emotional state, and determines the location of the next data to display. The input is the user's usage progress and adjusted usage volume. The server extracts the required amount of data from the database and prepares it for transmission to the user's device. For example, it extracts and transmits the text data for that day.
[0420] Step 7:
[0421] Viewing Data
[0422] The server sends the generated data for one day to the user's device. The device displays the received data on the screen. This allows the user to comfortably manage their daily usage. For example, the data displayed can be 500 characters specified by the user or 400 characters after adjustment.
[0423] Step 8:
[0424] Usage progress update
[0425] When a user finishes using data for the day, the device will display information indicating that use is complete for that day. Input is provided by the user's actions, such as pressing the "End" button. The device then sends this progress information to the server, which records the user's usage progress in a database. The server then saves the start position of the data to be displayed the next day, preparing for use on that day. This allows for smooth, continuous data use.
[0426] These steps enable data usage that is adapted to the user's emotional state, providing the user with a comfortable data usage experience.
[0427] 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.
[0428] 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.
[0429] 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.
[0430] [Second embodiment]
[0431] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0432] 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.
[0433] 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).
[0434] 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.
[0435] 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.
[0436] 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).
[0437] 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.
[0438] 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.
[0439] 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.
[0440] 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.
[0441] 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.
[0442] 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."
[0443] The present invention is a system that manages book data owned by a user online and provides text according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0444] Book Upload
[0445] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[0446] Book Analysis
[0447] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[0448] Setting your reading volume
[0449] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[0450] Daily Text Generation
[0451] The server checks the user's reading progress and determines the next text position to display. Based on the specified reading volume (e.g., 500 characters), it extracts the text for that day. The server prepares the extracted text data for transmission to the user's terminal.
[0452] Displaying Text
[0453] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[0454] Progress Updates
[0455] When a user finishes reading for the day, they indicate that they have finished reading on their device. The device then sends this progress information to the server, which records the user's reading progress. The server then adjusts the text displayed for the next day appropriately, allowing the user to continue reading comfortably the next day.
[0456] Specific examples
[0457] Example 1: Novel
[0458] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0459] Example 2: A paper
[0460] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. Once the user has read three pages of text on their device for that day, the server prepares three pages of text for the next day. This allows the user to comfortably read the entire paper every day.
[0461] In this way, it is an object of the present invention to enable users to maintain their reading habits without straining themselves.
[0462] The processing flow will be explained below.
[0463] Step 1:
[0464] Select the book data owned by the user.
[0465] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[0466] Step 2:
[0467] The terminal uploads the selected book data to the server.
[0468] The terminal transmits the selected book data to the server, and the server receives the data.
[0469] Step 3:
[0470] The server stores the book data and performs analysis.
[0471] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[0472] Step 4:
[0473] The user sets the amount of reading.
[0474] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[0475] Step 5:
[0476] The terminal sends the setting information to the server.
[0477] The terminal transmits the amount of reading set by the user (for example, 500 characters) to the server.
[0478] Step 6:
[0479] The server stores the configuration information.
[0480] The server stores user preferences and records each user's reading volume.
[0481] Step 7:
[0482] The server calculates the location of the text extract for each day.
[0483] The server checks the user's progress and calculates the starting position of the next text to display based on the specified amount of reading.
[0484] Step 8:
[0485] The server extracts the text data.
[0486] The server extracts the text data for that day from the calculated starting position based on a set reading amount (e.g., 500 characters).
[0487] Step 9:
[0488] The server transmits the extracted text data to the terminal.
[0489] The server sends a day's worth of text data to the user's device.
[0490] Step 10:
[0491] The terminal displays the text data.
[0492] The terminal displays the received text data on the screen, allowing the user to begin reading.
[0493] Step 11:
[0494] The user finishes reading.
[0495] The user indicates at the terminal that he has completed his reading for the day.
[0496] Step 12:
[0497] The terminal sends progress information to the server.
[0498] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[0499] Step 13:
[0500] The server updates the progress.
[0501] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[0502] Example 1
[0503] 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."
[0504] Conventional reading management systems lack the functionality to efficiently manage the book data owned by the user and provide appropriate texts tailored to the user's reading habits. As a result, users must adjust their reading volume themselves, making it difficult to maintain a consistent reading habit. Furthermore, reading progress management is often done manually, making efficient reading management difficult. To solve these issues, a system is needed that automatically manages reading volume and efficiently records and manages users' reading progress.
[0505] 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.
[0506] In this invention, the server includes means for uploading book data owned by the user, means for the server to analyze the book data and extract text data and meta information and store them in a database, means for the user to set the amount of reading they want to do per day and send it to the server, means for the server to check the user's reading progress and extract text based on the specified amount of reading, means for the server to display the extracted text data on the user terminal, and means for recording and managing the user's reading progress. This allows the user to effortlessly manage their reading volume and efficiently maintain their reading habits.
[0507] "User" refers to a person who uses this system.
[0508] "Book data" refers to e-book files (PDF, ePub, etc.) owned by the user.
[0509] The "uploading means" refers to a device or program that provides a function for a user to send book data to a server.
[0510] The "analyzing means" refers to a program or algorithm that the server uses to extract text data and meta information from book data.
[0511] "Text data" is text information of the contents extracted from the book data.
[0512] "Meta information" is auxiliary information about book data (such as the number of characters and the number of pages).
[0513] A "database" is a system for managing information stored in a server.
[0514] "Reading volume" refers to the number of characters or pages a user wants to read per day.
[0515] The "extracting means" is a program or algorithm that the server uses to extract text data based on the specified reading volume.
[0516] The "display means" refers to a device or program that allows the terminal to show the extracted text data to the user.
[0517] "Reading progress" is progress data about how much a user has read.
[0518] "Means for recording and managing" refers to a program or system that allows the server to save the user's reading progress and adjust the amount of reading for the next day.
[0519] The present invention is a system that manages book data owned by users online and provides texts according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0520] Hardware and Software Examples
[0521] Server: Cloud server (e.g., Amazon Web Services (AWS) EC2 instance)
[0522] Device: PC or smartphone used by the user
[0523] Analysis software: Text analysis library (e.g., Apache Tika)
[0524] Database: Cloud database service (e.g., AWS RDS)
[0525] Storage: Cloud storage service (e.g. Amazon S3)
[0526] Explanation of program processing
[0527] Book Upload
[0528] The user uses the device to select and upload the book data they own (for example, e-book files such as PDF or ePub). The device then sends the book file selected by the user to the server as an HTTP request. The server saves the received book data in cloud storage, associates it with the user ID, and records it in a database.
[0529] Book Analysis
[0530] The server analyzes the uploaded book data using analysis software (e.g., Apache Tika) and extracts the text data from the book. It also calculates meta-information such as the number of characters and pages in the entire book and stores it in a database. This allows the server to accurately extract text according to the reading volume specified by the user later.
[0531] Setting your reading volume
[0532] The user uses their device to set the number of characters or pages they want to read per day. For example, they might set "I want to read 500 characters per day." This setting information is sent from the device to the server, which then records the setting information for each user in a database. This allows the server to determine how much text to provide to the user each day.
[0533] Daily Text Generation
[0534] The server checks the user's reading progress in the database and determines the next text to be provided. At this time, it extracts the text for that day based on the specified reading amount (e.g., 500 characters). The extracted text is temporarily stored and ready to be provided to the user.
[0535] Displaying Text
[0536] The server sends the generated text data for one day to the user's device, which then displays the received text data on the screen. This allows the user to read the set amount each day.
[0537] Progress Updates
[0538] When a user finishes reading for the day, they press the "Finish Reading" button on their device. This information is sent from the device to the server, which records the user's reading progress in a database. The next day, the server will be able to provide new text based on the progress information.
[0539] Specific examples
[0540] Example 1: Novel
[0541] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares a new 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0542] Example 2: A paper
[0543] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. When the user finishes reading those three pages on their device, they press a "Done reading" button. The server prepares three new pages of text for the next day. The user can comfortably read the entire paper every day.
[0544] Prompt Sentence Examples
[0545] Example prompts using a generative AI model:
[0546] For novels:
[0547] Generate 500 characters of text every day.
[0548] For papers:
[0549] Generate the following three pages of text based on the number of characters per page:
[0550] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0551] Step 1:
[0552] The user opens the file selection screen on the device and selects their book data (e.g., PDF or ePub file). The device then obtains the path to the specified file. The input is the book data, and the output is the file path.
[0553] Step 2:
[0554] The terminal sends the selected book file to the server as an HTTP request, which includes the user ID and file path. The input is the file path and user ID, and the output is the transmission completion status.
[0555] Step 3:
[0556] The server saves the received book data in cloud storage and records it in a database along with the associated user ID. Specifically, it saves it in a storage such as Amazon S3 and records its URL in the database. The input is the book data and the user ID, and the output is the save completion status and the success of the database record.
[0557] Step 4:
[0558] The server uses a text analysis library (e.g., Apache Tika) to analyze the stored book data and extracts the text data from the book. The input is the URL of the book data, and the output is the extracted text data.
[0559] Step 5:
[0560] The server calculates meta information such as the number of characters and pages of the entire book and stores it in a database. Specifically, it analyzes the number of characters and pages using Python or similar. The input is the extracted text data, and the output is the calculated meta information.
[0561] Step 6:
[0562] The user enters the number of characters or pages they want to read per day on the device's settings screen. For example, they might set it to "I want to read 500 characters per day." The input is the number of characters or pages they want to read, and the output is the setting information.
[0563] Step 7:
[0564] The terminal sends the setting information entered by the user to the server as an HTTP request. The request includes the user ID and setting information. The input is the setting information, and the output is a transmission completion status.
[0565] Step 8:
[0566] The server stores the received setting information in a database. This allows the server to track the amount of reading customized for each user. The input is the setting information, and the output is the record status in the database.
[0567] Step 9:
[0568] The server checks the user's reading progress from the database and determines the position of the next text to be provided. For example, if the user has read 500 characters up to the previous day, it calculates the position of the next 500 characters. The input is progress information and setting information. The output is the position of the next text.
[0569] Step 10:
[0570] The server extracts the text for that day based on the specified reading volume (e.g., 500 characters). The extracted text is temporarily stored. The input is the position and setting information of the next text, and the output is the text for that day.
[0571] Step 11:
[0572] The server sends the generated text data for one day to the user terminal. Here, the text data is sent as an HTTP response. The input is the text data for that day, and the output is the transmission completion status.
[0573] Step 12:
[0574] The terminal displays the received text data on the screen, allowing the user to read a set amount of text each day. The input is the received text data, and the output is the displayed text.
[0575] Step 13:
[0576] When a user finishes reading for the day, they press the "Reading Complete" button on the terminal. This input is recorded on the terminal. The input is the pressing of the reading completion button, and the output is the completion information.
[0577] Step 14:
[0578] The terminal sends an HTTP request containing "reading completion" information to the server. The request includes the user ID and progress information. The input is the reading completion information, and the output is the sending completion status.
[0579] Step 15:
[0580] The server saves the received progress information in a database and makes the necessary adjustments to the reading for the next day. This allows the user to continue reading comfortably the next day. The input is reading progress information, and the output is the recording status in the database.
[0581] (Application example 1)
[0582] 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."
[0583] In today's busy lifestyles, many people find it difficult to find time to read. Without a proper system to manage their reading volume, users find it difficult to maintain their reading progress and maintain a daily reading habit. There is a need for a system that can solve this problem and enable users to continue their daily reading efficiently and comfortably.
[0584] 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.
[0585] In this invention, the server includes means for uploading book data owned by the user, means for extracting text data for a volume of reading based on a volume specified by the user, means for displaying the extracted text data on the user terminal, means for recording and managing the user's reading progress, means for analyzing the book data using a natural language processing model on the server and generating meta information, means for providing a setting screen for the user to set the volume of reading, and means for extracting text based on the user's setting each day and preparing the volume for the next day. This allows the user to easily set the volume of reading and appropriately manage their daily reading progress, making it possible to maintain their reading habit without strain.
[0586] "Book data" refers to electronic book files and digital text data owned by the user.
[0587] "Uploading" is the act of a user sending book data from their own terminal to a server.
[0588] "Reading volume" is the number of characters or pages a user wants to read per day.
[0589] "Text data" is continuous character information extracted from book data.
[0590] A "user terminal" is an electronic device used by a user (for example, a smartphone or tablet).
[0591] "Reading progress" is information indicating how far the user has progressed in reading a book.
[0592] A "natural language processing model" is a computer program for analyzing and understanding text data.
[0593] "Meta information" refers to accompanying information such as the number of characters and pages of the entire book.
[0594] The "settings screen" is an interface that allows the user to set the amount of reading within the application.
[0595] "Extraction" is the act of extracting the necessary text data based on the amount of reading specified by the user.
[0596] The system of the present invention manages book data owned by a user and provides text every day according to a specified reading volume, thereby supporting continuous reading.
[0597] Server Features
[0598] Uploading book data
[0599] A user uploads the book data they own to the server using their device. The book data is an e-book file such as a PDF or ePub, and this data is sent to the server and stored in association with the user ID.
[0600] Book Analysis
[0601] The server uses programming languages such as Python and natural language processing (NLP) models such as spaCy and GPT-3 to analyze the text from the uploaded book data, generating meta-information such as the number of characters and pages of the entire book, and storing it in a database (e.g., MySQL or PostgreSQL).
[0602] Setting your reading volume
[0603] Users use the device's settings screen to specify the number of characters or pages they want to read per day, and this setting information is sent to the server, which records the user's preferences in a database.
[0604] Daily Text Generation
[0605] The server manages the user's reading progress and generates daily text based on the set reading volume. The generated text is sent to the user's device. It uses Python and natural language processing models such as GPT-3.
[0606] Device Features
[0607] Displaying Text
[0608] The user's device receives the daily text data sent from the server and displays it so that the user can start reading, using platforms such as Swift (iOS) and Kotlin (Android).
[0609] Reading progress updates
[0610] When a user finishes reading for the day, the device sends that information to the server, which then updates the user's reading progress and adjusts the amount of text for the next day appropriately.
[0611] Hardware and software used
[0612] Hardware: Smartphones, tablets
[0613] software:
[0614] Server side: Python, Django (or Flask), SQL (MySQL / PostgreSQL)
[0615] Client-side: Swift (iOS), Kotlin (Android), React Native (cross-platform)
[0616] Natural Language Processing (NLP): spaCy, NLTK, gensim, GPT-3
[0617] Specific examples
[0618] Example 1: Novel
[0619] A user uploads a novel they own, "Novel A," to the system. If the user sets a daily reading limit of 500 characters, the server extracts 500 characters of text every day and sends them to the user's device. The user can read 500 characters per day using the device, and the next day's 500 characters are automatically prepared based on the user's progress.
[0620] Example 2: A paper
[0621] A user uploads their own paper, "Paper B," to the system. If the user sets a reading limit of three pages per day, the server extracts three pages of text from the analysis results and sends them to the user's device. The user can read three pages per day using their device, and the next three pages are automatically prepared based on their progress.
[0622] Prompt Sentence Examples
[0623] The following prompt sentences are used:
[0624] Extract text from uploaded PDF files and calculate the total number of pages in a book.
[0625] Next, design a system that extracts and serves daily text based on a specified reading volume (e.g., 500 characters per day).
[0626] Also, consider ways for users to update their reading progress each day and adjust the amount of text they consume for the next day based on that.
[0627] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0628] Step 1:
[0629] Book data is uploaded to the server from the user terminal.
[0630] Specifically, a user opens the application on their device, selects an e-book file (e.g., PDF or ePub), and presses the upload button. This sends the book data from the device to the server. The input is the e-book file selected by the user, and the output is a file saved on the server.
[0631] Step 2:
[0632] The server analyzes the received book data.
[0633] The server uses Python and natural language processing libraries (e.g., spaCy and GPT-3) to extract text from book data. The extracted text is stored in a database along with meta information such as the number of characters and pages. The input is the uploaded book data, and the output is the extracted text data and meta information.
[0634] Step 3:
[0635] The user sets the amount of reading.
[0636] The user uses the device's settings screen to specify the number of characters or pages they want to read per day. This setting information is sent to the server and recorded in a database. The input is the user's set reading volume, and the output is the setting information saved on the server.
[0637] Step 4:
[0638] The server generates the daily text.
[0639] The server extracts the text for the specified reading amount based on the user's settings and progress information. Python and natural language processing models such as GPT-3 are used here. The extracted text is stored in a database and prepared for transmission to the user's device. The input is the user's settings and progress information, and the output is the text the user should read next.
[0640] Step 5:
[0641] Text data is sent from the server to the user terminal.
[0642] The server sends the daily reading quota to the user's terminal. The user can display the text on the terminal and start reading. The input is the text data generated by the server, and the output is the text displayed on the user's terminal.
[0643] Step 6:
[0644] The user updates their reading progress.
[0645] When a user finishes reading for the day, they press the "Finish Reading" button to send progress information from their device to the server. The server updates the database based on this information and adjusts the amount of text for the next day appropriately. The input is the user's reading completion information, and the output is the updated server's progress information.
[0646] 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.
[0647] This invention combines a system that manages a user's book data online and provides text according to the user's designated reading volume with an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[0648] Book Upload
[0649] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[0650] Book Analysis
[0651] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[0652] Setting your reading volume
[0653] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[0654] Recognition of emotional states
[0655] The emotion engine recognizes the user's emotional state. When the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the server. The server analyzes this data and recognizes the user's emotional state.
[0656] Adjusting your reading volume
[0657] The server adjusts the reading volume based on the user's recognized emotional state. For example, if the user's emotional state indicates stress or fatigue, the server reduces the set reading volume, and if the user's emotional state indicates relaxation or excitement, the server increases the reading volume. This information is reflected in the extraction of the next text to display.
[0658] Daily Text Generation
[0659] The server checks the user's reading progress and emotional state, determines the next text position to display, extracts the text for that day based on the specified reading volume, and prepares the extracted text data for transmission to the user's terminal.
[0660] Displaying Text
[0661] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[0662] Progress Updates
[0663] When a user finishes reading for the day, they indicate that the day's reading is complete on their device. The device sends this progress information to the server, which records the user's reading progress. The server saves the starting position of the text to be displayed the next day, preparing for the next day's reading.
[0664] Specific examples
[0665] Example 1: Novel
[0666] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. If the emotion engine detects the user's emotional state and indicates stress, the server reduces the reading amount for that day to 400 characters and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0667] Example 2: A paper
[0668] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. If the emotion engine detects the user's emotional state and indicates a relaxed state, the server increases the reading amount for that day to four pages and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. This allows the user to comfortably read the entire paper every day.
[0669] In this way, the object of the present invention is to dynamically adjust the amount of reading depending on the user's emotional state, allowing the user to maintain a reading habit without straining themselves.
[0670] The processing flow will be explained below.
[0671] Step 1:
[0672] Select the book data owned by the user.
[0673] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[0674] Step 2:
[0675] The terminal uploads the selected book data to the server.
[0676] The terminal transmits the selected book data to the server, and the server receives the data.
[0677] Step 3:
[0678] The server stores the book data and performs analysis.
[0679] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[0680] Step 4:
[0681] The server accepts the user's reading volume setting.
[0682] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[0683] Step 5:
[0684] The terminal sends the setting information to the server.
[0685] The device sends the user's set reading amount (e.g., 500 characters) to the server, which stores this information.
[0686] Step 6:
[0687] An emotion engine recognizes the user's emotional state.
[0688] Before the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the emotion engine.
[0689] Step 7:
[0690] The server analyzes the data for the emotion engine.
[0691] The emotion engine in the server analyzes the received data and recognizes the user's emotional state.
[0692] Step 8:
[0693] The server regulates the amount of reading.
[0694] Based on the perceived emotional state, the server adjusts the user's reading preference, for example, decreasing the reading preference if the emotional state indicates stress and increasing the reading preference if the emotional state indicates relaxation.
[0695] Step 9:
[0696] The server extracts the text based on the adjusted reading volume.
[0697] The server extracts the text data for that day based on an adjusted reading volume (e.g., 400 characters).
[0698] Step 10:
[0699] The server transmits the extracted text data to the terminal.
[0700] The server sends a day's worth of text data to the user's device.
[0701] Step 11:
[0702] The terminal displays the text data.
[0703] The terminal displays the received text data on the screen, allowing the user to begin reading.
[0704] Step 12:
[0705] The user finishes reading.
[0706] The user indicates at the terminal that he has completed his reading for the day.
[0707] Step 13:
[0708] The terminal sends progress information to the server.
[0709] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[0710] Step 14:
[0711] The server updates the progress.
[0712] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[0713] Example 2
[0714] 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."
[0715] Conventional online book management systems have the problem that users cannot individually adjust the amount of reading they consume, and the reading experience does not take into account the user's emotional state, making it difficult to maintain a reading habit. The present invention aims to provide a system that automatically adjusts the amount of reading according to the user's emotional state, improving the user's reading experience and supporting a continuous reading habit.
[0716] The specification process by the specification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading digital books owned by the user, means for analyzing text data of the uploaded digital books and acquiring metadata (number of characters, number of pages, etc.), means for extracting text data for a volume designated by the user based on the volume designated by the user, means for collecting the user's biometric data, facial expression, and tone of voice to recognize the user's emotional state, means for adjusting the volume of reading based on the recognized emotional state, means for displaying re-extracted text data based on the adjusted volume of reading on the user terminal, and means for recording and managing the user's reading progress. This makes it possible to adjust the volume of reading taking the user's emotional state into consideration and optimize the reading experience.
[0717]
[0718] A "digital book" is a book in electronic format, and is book data provided in file formats such as PDF and ePub.
[0719] "Uploading means" refers to the function or process by which a user transfers their digital books to an online server.
[0720] The "means of analysis" is a function or process that extracts text data from uploaded digital books and obtains metadata such as the number of characters and the number of pages.
[0721] An "extracting means" is a function or process that selects a specific amount of text data based on a user-specified amount of reading.
[0722] The "means for recognizing emotional state" is a function or process that collects and analyzes the user's biometric data, facial expressions, and tone of voice to determine the user's emotional state.
[0723] The "adjusting means" is a function or process that modifies the pre-set reading volume to an appropriate amount based on the perceived emotional state.
[0724] The "means for displaying" is a function or process for presenting the extracted text data based on the adjusted reading volume on the screen of the user terminal.
[0725] The "means for recording and managing" is a function or process for saving the user's reading progress in a database and managing the reading start position for the next day.
[0726] "Biometric data" is information that indicates the physiological state of the user, and includes data such as heart rate and skin temperature.
[0727]
[0728] This invention combines a system that manages a user's digital books online, extracts and provides text according to the user's designated reading volume, and an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[0729] Book Upload
[0730] Users upload their digital books (e.g., e-book files such as PDF or ePub) to the server via their devices. The devices send the book files selected by the user to the server using an HTTP request. The server stores the received book data in a specific directory and records the file path in a database, associating it with the user ID.
[0731] Book Analysis
[0732] The server analyzes the uploaded digital book data and extracts text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). Additionally, the server calculates metadata such as the number of characters and pages in the entire book and stores this in a database.
[0733] Setting your reading volume
[0734] The user sets the number of characters or pages they want to read per day on their device. For example, if they specify "I want to read 500 characters per day," the device sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database.
[0735] Recognition of emotional states
[0736] When a user starts reading, the device uses a camera, microphone, and sensors to collect the user's facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature), and sends this data to the server in real time. The server then uses the received data to activate an emotion engine and recognize the user's emotional state. This process uses emotion recognition APIs (e.g., Microsoft Azure Emotion API, Affectiva).
[0737] Adjusting your reading volume
[0738] The server adjusts the set reading volume appropriately based on the analysis results of the emotion engine. For example, if the user is feeling stressed, the server will reduce the reading volume, and if the user is feeling relaxed, the server will increase the reading volume.
[0739] Daily Text Generation
[0740] The server determines the text for that day based on the user's reading progress and emotional state, determines the text extraction position based on the specified reading volume, and prepares to extract and send an appropriate amount of text data to the terminal.
[0741] Displaying Text
[0742] The server sends the generated text data to the user's terminal, which displays the received text data on the screen in a format that is easy for the user to read, and the user continues to read the displayed text.
[0743] Progress Updates
[0744] When a user finishes reading for the day, they press the "Finish Reading" button on their device. The device then sends reading progress information to the server, which records this progress information in a database. The server also manages the starting position for the next day's reading.
[0745] Specific examples
[0746] Example 1: Novel
[0747] A user uploads "Novel A" and sets the goal of reading 500 characters per day. If the emotion engine detects that the user is stressed, the server reduces the reading volume for that day to 400 characters and extracts the text. Each time the user finishes reading this text on their device, the server prepares the text for the next day.
[0748] Example 2: A paper
[0749] A user uploads "Paper B" and sets the goal of reading three pages per day. If the emotion engine detects a relaxed state, the server increases the reading limit for that day to four pages and extracts the text. This allows the user to comfortably read the paper every day.
[0750] Prompt Sentence Examples
[0751] Describe a system that manages a user's book collection online, provides text based on the user's specified reading volume, and dynamically adjusts the reading volume based on the user's emotional state.
[0752] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0753]
[0754] Step 1:
[0755] The user selects a digital book file (e.g. PDF, ePub) using the terminal. The terminal sends the selected book file to the server via an HTTP request. The server receives the file and stores it in a specific directory. The input of this process is the book file, and the output is the path of the book file stored in the server.
[0756] Step 2:
[0757] The server analyzes the uploaded digital book file and extracts the text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). The server calculates metadata such as the number of characters and pages for the entire book and stores it in a database. The input for this process is the book file, and the output is the extracted text data and metadata.
[0758] Step 3:
[0759] The user uses the device to set the number of characters or pages they want to read per day. For example, they might specify "I want to read 500 characters every day." The device then sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database. The input to this process is the user's setting information, and the output is the setting information recorded in the database.
[0760] Step 4:
[0761] When a user starts reading, the device uses a camera, microphone, and sensors to collect facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature). The device then transmits the collected data to a server in real time. The server then uses the received data to run an emotion engine and recognize the user's emotional state. The input to this process is the user's biometric data, and the output is the recognized emotional state.
[0762] Step 5:
[0763] The server adjusts the set reading volume based on the recognized emotional state. For example, if the user is stressed, the server reduces the reading volume, and if the user is relaxed, it increases the reading volume. An algorithm is used to calculate and reset the optimal reading volume. The inputs to this process are the emotional state and the initial reading volume, and the output is the adjusted reading volume.
[0764] Step 6:
[0765] The server checks the user's reading progress and emotional state and determines the text generation position for that day. Based on the specified reading volume, it extracts the required amount of text data. The server then prepares the extracted text data for transmission to the terminal. The input of this process is the user's progress information and the adjusted reading volume, and the output is the text data ready to be sent.
[0766] Step 7:
[0767] The server sends the generated text data to the user's terminal. The terminal displays the received text data on its screen in an easy-to-read format. The user then reads the displayed text. The input of this process is the text data, and the output is the displayed text on the terminal.
[0768] Step 8:
[0769] When a user finishes reading for the day, they press the "Finish reading" button on their device. The device sends the reading progress information to the server. The server records this progress information in a database and manages the reading start position for the next day. The input of this process is the user's reading completion information, and the output is the updated reading progress information.
[0770] (Application example 2)
[0771] 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."
[0772] Conventional user data management systems provide data uniformly without considering the user's emotional state, making it difficult to use data that adapts to the user's fatigue or stress. Furthermore, optimization of the user experience in the food delivery field has lagged, and menu suggestions based on the user's emotions are not made. This has led to the issue of not being able to provide optimal suggestions based on the user's true needs, resulting in a decline in user satisfaction.
[0773] 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.
[0774] In this invention, the server includes a means for uploading data owned by the user, a means for extracting an amount of data based on a usage amount specified by the user, a means for displaying the extracted data on the user terminal, a means for recording and managing the user's usage progress, an emotion recognition means for recognizing the user's emotional state, and a means for adjusting the usage amount based on the recognized emotional state. This makes it possible to provide data adapted to the user's emotional state, allowing the user to have a more comfortable data usage experience. Furthermore, by making optimal suggestions based on the user's emotional state, user satisfaction can be improved.
[0775] "User-Owned Data" means information that is in a digital format owned by a User and available for personal or commercial use.
[0776] An "uploading means" is software or hardware that has the function of sending data owned by a user to a server or cloud service.
[0777] A "specified amount of usage" is a specific amount of data that a user wants to use or consume within a specific time period.
[0778] A "means for extracting data" is a method or device for extracting necessary data from a database or storage based on a specified usage amount.
[0779] "User terminal" refers to any device that can be directly operated by a user, including smartphones, tablets, and PCs.
[0780] A "displaying means" is software or hardware for visually presenting data on a user terminal.
[0781] "Means for recording and managing usage progress" is a function for measuring the extent to which a user has used data, and storing and analyzing that history.
[0782] The "emotion recognition means" is a device or software that analyzes the user's facial expression, tone of voice, biometric data, etc., to evaluate the user's emotional state in real time.
[0783] A "means for adjusting usage" is a function for dynamically changing the amount of data provided to a user based on a recognized emotional state.
[0784] A "means for making suggestions" is a device or software that presents optimal data usage methods and options based on the user's emotional state.
[0785] This invention is a system that manages data owned by a user online and dynamically adjusts the amount of data used depending on the user's emotional state. This system is composed of a server, a terminal, and a user. Specifically, it is implemented in the following way.
[0786] Uploading data
[0787] Users upload their data to the server through their devices. The devices then process the data files selected by the users to send them to the server. The server then stores the received data and records it in association with the user ID.
[0788] Data analysis
[0789] The server then analyzes the uploaded data and extracts text data. The extracted data is provided according to the usage amount specified by the user. The server also calculates the total data volume and meta information and stores it in a database.
[0790] Usage setting
[0791] The user sets the daily usage amount, such as the number of characters or pages, on the device. The device sends this setting information to the server, which records it. This allows the server to know how much data to provide to the user each day.
[0792] Recognition of emotional states
[0793] The emotion recognition means is used to recognize the user's emotional state. Specifically, when a user starts using the system, the device collects the user's emotional data (e.g., facial expressions, tone of voice, and biometric data) through a camera and microphone and transmits them to the server. The server analyzes this data and evaluates the user's emotional state in real time.
[0794] Usage adjustment
[0795] The server adjusts the set amount of data usage based on the user's perceived emotional state. For example, if the user is stressed, the amount of data is reduced, and if the user is relaxed, the amount is increased. This adjustment information is reflected in the next data extraction to be displayed.
[0796] Daily data generation
[0797] The server checks the user's usage progress and emotional state, determines the next data location to display, extracts the amount of data for that day based on the specified usage amount, and prepares the extracted data for transmission to the user's terminal.
[0798] Viewing Data
[0799] The server sends the generated data for one day to the user's device. The device displays the received data on the screen and allows the user to start using the service. This allows the user to comfortably manage their daily usage volume.
[0800] Progress Updates
[0801] When a user finishes using data for the day, they indicate that the day's usage is complete on their device. The device then sends this progress information to the server, which records the user's usage progress. The server then saves the start position of the data to be displayed the next day, preparing for the next day's usage.
[0802] Specific examples
[0803] Example 1: Food delivery
[0804] When a user accesses a food delivery app, their emotional state is captured via the camera and microphone. If the emotion engine recognizes the user's emotional state as "stressed," it automatically suggests food items with a relaxing effect (for example, matcha or chocolate-based sweets).
[0805] Example prompt sentence:
[0806] I need a food delivery application where the user understands his / her emotional state using an emotion engine. I want to suggest relaxing menu items based on the user's emotional state. For example, if a stressful state is detected, I want to show menu items with a relaxing effect. Please provide an example of a model that detects emotional states and a concrete example of food suggestions.
[0807] This invention enables users to use data optimally according to their emotional state, improving the quality of their data use experience.
[0808] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0809] Step 1:
[0810] Uploading data owned by users
[0811] Users upload their data to the server through their devices. The input is a data file (e.g., a PDF or image file) selected by the user. The device then sends this data file to the server. The server saves the received data and records it in association with the user ID. This allows the data to be stored securely online.
[0812] Step 2:
[0813] Data analysis
[0814] The server parses the uploaded data and extracts the text data. The input is the uploaded data file. The server uses optical character recognition (OCR) software to extract the text and stores the extracted text data in a database. This allows the server to extract the data accurately according to the usage amount specified by the user later.
[0815] Step 3:
[0816] Usage setting
[0817] The user sets the daily usage amount on the device. For example, the user may specify "I want to use 500 characters per day." This setting information is sent from the device to the server, which records it. This allows the server to know how much data to provide to the user each day.
[0818] Step 4:
[0819] Recognition of emotional states
[0820] The emotion recognition means detects the user's emotional state. Inputs include the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature). The device collects this data using a camera and sensors and sends it to the server. The server uses an emotion recognition engine (e.g., a deep learning model) to analyze and recognize the emotional state. For example, it can determine whether the user is stressed or relaxed.
[0821] Step 5:
[0822] Usage adjustment
[0823] The server adjusts the set usage amount based on the recognized emotional state of the user. The input is the emotional state analyzed by the server and the original usage amount setting. The output is the adjusted usage amount. For example, if the user is stressed, the usage amount is reduced to 400 characters, and if they are relaxed, it is increased to 600 characters. This information is reflected in the next data to be extracted.
[0824] Step 6:
[0825] Daily data generation
[0826] The server checks the user's usage progress and emotional state, and determines the location of the next data to display. The input is the user's usage progress and adjusted usage volume. The server extracts the required amount of data from the database and prepares it for transmission to the user's device. For example, it extracts and transmits the text data for that day.
[0827] Step 7:
[0828] Viewing Data
[0829] The server sends the generated data for one day to the user's device. The device displays the received data on the screen. This allows the user to comfortably manage their daily usage. For example, the data displayed can be 500 characters specified by the user or 400 characters after adjustment.
[0830] Step 8:
[0831] Usage progress update
[0832] When a user finishes using data for the day, the device will display information indicating that use is complete for that day. Input is provided by the user's actions, such as pressing the "End" button. The device then sends this progress information to the server, which records the user's usage progress in a database. The server then saves the start position of the data to be displayed the next day, preparing for use on that day. This allows for smooth, continuous data use.
[0833] These steps enable data usage that is adapted to the user's emotional state, providing the user with a comfortable data usage experience.
[0834] 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.
[0835] 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.
[0836] 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.
[0837] [Third embodiment]
[0838] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0839] 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.
[0840] 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).
[0841] 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.
[0842] 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.
[0843] 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).
[0844] 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.
[0845] 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.
[0846] 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.
[0847] 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.
[0848] 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.
[0849] 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."
[0850] The present invention is a system that manages book data owned by a user online and provides text according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0851] Book Upload
[0852] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[0853] Book Analysis
[0854] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[0855] Setting your reading volume
[0856] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[0857] Daily Text Generation
[0858] The server checks the user's reading progress and determines the next text position to display. Based on the specified reading volume (e.g., 500 characters), it extracts the text for that day. The server prepares the extracted text data for transmission to the user's terminal.
[0859] Displaying Text
[0860] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[0861] Progress Updates
[0862] When a user finishes reading for the day, they indicate that they have finished reading on their device. The device then sends this progress information to the server, which records the user's reading progress. The server then adjusts the text displayed for the next day appropriately, allowing the user to continue reading comfortably the next day.
[0863] Specific examples
[0864] Example 1: Novel
[0865] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0866] Example 2: A paper
[0867] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. Once the user has read three pages of text on their device for that day, the server prepares three pages of text for the next day. This allows the user to comfortably read the entire paper every day.
[0868] In this way, it is an object of the present invention to enable users to maintain their reading habits without straining themselves.
[0869] The processing flow will be explained below.
[0870] Step 1:
[0871] Select the book data owned by the user.
[0872] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[0873] Step 2:
[0874] The terminal uploads the selected book data to the server.
[0875] The terminal transmits the selected book data to the server, and the server receives the data.
[0876] Step 3:
[0877] The server stores the book data and performs analysis.
[0878] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[0879] Step 4:
[0880] The user sets the amount of reading.
[0881] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[0882] Step 5:
[0883] The terminal sends the setting information to the server.
[0884] The terminal transmits the amount of reading set by the user (for example, 500 characters) to the server.
[0885] Step 6:
[0886] The server stores the configuration information.
[0887] The server stores user preferences and records each user's reading volume.
[0888] Step 7:
[0889] The server calculates the location of the text extract for each day.
[0890] The server checks the user's progress and calculates the starting position of the next text to display based on the specified amount of reading.
[0891] Step 8:
[0892] The server extracts the text data.
[0893] The server extracts the text data for that day from the calculated starting position based on a set reading amount (e.g., 500 characters).
[0894] Step 9:
[0895] The server transmits the extracted text data to the terminal.
[0896] The server sends a day's worth of text data to the user's device.
[0897] Step 10:
[0898] The terminal displays the text data.
[0899] The terminal displays the received text data on the screen, allowing the user to begin reading.
[0900] Step 11:
[0901] The user finishes reading.
[0902] The user indicates at the terminal that he has completed his reading for the day.
[0903] Step 12:
[0904] The terminal sends progress information to the server.
[0905] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[0906] Step 13:
[0907] The server updates the progress.
[0908] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[0909] Example 1
[0910] 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."
[0911] Conventional reading management systems lack the functionality to efficiently manage the book data owned by the user and provide appropriate texts tailored to the user's reading habits. As a result, users must adjust their reading volume themselves, making it difficult to maintain a consistent reading habit. Furthermore, reading progress management is often done manually, making efficient reading management difficult. To solve these issues, a system is needed that automatically manages reading volume and efficiently records and manages users' reading progress.
[0912] 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.
[0913] In this invention, the server includes means for uploading book data owned by the user, means for the server to analyze the book data and extract text data and meta information and store them in a database, means for the user to set the amount of reading they want to do per day and send it to the server, means for the server to check the user's reading progress and extract text based on the specified amount of reading, means for the server to display the extracted text data on the user terminal, and means for recording and managing the user's reading progress. This allows the user to effortlessly manage their reading volume and efficiently maintain their reading habits.
[0914] "User" refers to a person who uses this system.
[0915] "Book data" refers to e-book files (PDF, ePub, etc.) owned by the user.
[0916] The "uploading means" refers to a device or program that provides a function for a user to send book data to a server.
[0917] The "analyzing means" refers to a program or algorithm that the server uses to extract text data and meta information from book data.
[0918] "Text data" is text information of the contents extracted from the book data.
[0919] "Meta information" is auxiliary information about book data (such as the number of characters and the number of pages).
[0920] A "database" is a system for managing information stored in a server.
[0921] "Reading volume" refers to the number of characters or pages a user wants to read per day.
[0922] The "extracting means" is a program or algorithm that the server uses to extract text data based on the specified reading volume.
[0923] The "display means" refers to a device or program that allows the terminal to show the extracted text data to the user.
[0924] "Reading progress" is progress data about how much a user has read.
[0925] "Means for recording and managing" refers to a program or system that allows the server to save the user's reading progress and adjust the amount of reading for the next day.
[0926] The present invention is a system that manages book data owned by users online and provides texts according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[0927] Hardware and Software Examples
[0928] Server: Cloud server (e.g., Amazon Web Services (AWS) EC2 instance)
[0929] Device: PC or smartphone used by the user
[0930] Analysis software: Text analysis library (e.g., Apache Tika)
[0931] Database: Cloud database service (e.g., AWS RDS)
[0932] Storage: Cloud storage service (e.g. Amazon S3)
[0933] Explanation of program processing
[0934] Book Upload
[0935] The user uses the device to select and upload the book data they own (for example, e-book files such as PDF or ePub). The device then sends the book file selected by the user to the server as an HTTP request. The server saves the received book data in cloud storage, associates it with the user ID, and records it in a database.
[0936] Book Analysis
[0937] The server analyzes the uploaded book data using analysis software (e.g., Apache Tika) and extracts the text data from the book. It also calculates meta-information such as the number of characters and pages in the entire book and stores it in a database. This allows the server to accurately extract text according to the reading volume specified by the user later.
[0938] Setting your reading volume
[0939] The user uses their device to set the number of characters or pages they want to read per day. For example, they might set "I want to read 500 characters per day." This setting information is sent from the device to the server, which then records the setting information for each user in a database. This allows the server to determine how much text to provide to the user each day.
[0940] Daily Text Generation
[0941] The server checks the user's reading progress in the database and determines the next text to be provided. At this time, it extracts the text for that day based on the specified reading amount (e.g., 500 characters). The extracted text is temporarily stored and ready to be provided to the user.
[0942] Displaying Text
[0943] The server sends the generated text data for one day to the user's device, which then displays the received text data on the screen. This allows the user to read the set amount each day.
[0944] Progress Updates
[0945] When a user finishes reading for the day, they press the "Finish Reading" button on their device. This information is sent from the device to the server, which records the user's reading progress in a database. The next day, the server will be able to provide new text based on the progress information.
[0946] Specific examples
[0947] Example 1: Novel
[0948] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares a new 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[0949] Example 2: A paper
[0950] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. When the user finishes reading those three pages on their device, they press a "Done reading" button. The server prepares three new pages of text for the next day. The user can comfortably read the entire paper every day.
[0951] Prompt Sentence Examples
[0952] Example prompts using a generative AI model:
[0953] For novels:
[0954] Generate 500 characters of text every day.
[0955] For papers:
[0956] Generate the following three pages of text based on the number of characters per page:
[0957] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0958] Step 1:
[0959] The user opens the file selection screen on the device and selects their book data (e.g., PDF or ePub file). The device then obtains the path to the specified file. The input is the book data, and the output is the file path.
[0960] Step 2:
[0961] The terminal sends the selected book file to the server as an HTTP request, which includes the user ID and file path. The input is the file path and user ID, and the output is the transmission completion status.
[0962] Step 3:
[0963] The server saves the received book data in cloud storage and records it in a database along with the associated user ID. Specifically, it saves it in a storage such as Amazon S3 and records its URL in the database. The input is the book data and the user ID, and the output is the save completion status and the success of the database record.
[0964] Step 4:
[0965] The server uses a text analysis library (e.g., Apache Tika) to analyze the stored book data and extracts the text data from the book. The input is the URL of the book data, and the output is the extracted text data.
[0966] Step 5:
[0967] The server calculates meta-information such as the number of characters and pages of the entire book and stores it in a database. Specifically, it analyzes the number of characters and pages using Python or similar. The input is the extracted text data, and the output is the calculated meta-information.
[0968] Step 6:
[0969] The user enters the number of characters or pages they want to read per day on the device's settings screen. For example, they can set "I want to read 500 characters per day." The input is the number of characters or pages they want to read, and the output is the setting information.
[0970] Step 7:
[0971] The terminal sends the setting information entered by the user to the server as an HTTP request. The request includes the user ID and setting information. The input is the setting information, and the output is a transmission completion status.
[0972] Step 8:
[0973] The server stores the received setting information in a database. This allows the server to track the amount of reading customized for each user. The input is the setting information, and the output is the record status in the database.
[0974] Step 9:
[0975] The server checks the user's reading progress from the database and determines the position of the next text to be provided. For example, if the user has read 500 characters up to the previous day, it calculates the position of the next 500 characters. The input is progress information and setting information. The output is the position of the next text.
[0976] Step 10:
[0977] The server extracts the text for that day based on the specified reading volume (e.g., 500 characters). The extracted text is temporarily stored. The input is the position and setting information of the next text, and the output is the text for that day.
[0978] Step 11:
[0979] The server sends the generated text data for one day to the user terminal. Here, the text data is sent as an HTTP response. The input is the text data for that day, and the output is the transmission completion status.
[0980] Step 12:
[0981] The terminal displays the received text data on the screen, allowing the user to read a set amount of text each day. The input is the received text data, and the output is the displayed text.
[0982] Step 13:
[0983] When a user finishes reading for the day, they press the "Reading Complete" button on the terminal. This input is recorded on the terminal. The input is the pressing of the reading completion button, and the output is the completion information.
[0984] Step 14:
[0985] The terminal sends an HTTP request containing "reading completion" information to the server. The request includes the user ID and progress information. The input is the reading completion information, and the output is the sending completion status.
[0986] Step 15:
[0987] The server saves the received progress information in a database and makes the necessary adjustments to the reading for the next day. This allows the user to continue reading comfortably the next day. The input is reading progress information, and the output is the recording status in the database.
[0988] (Application example 1)
[0989] 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."
[0990] In today's busy lifestyles, many people find it difficult to find time to read. Without a proper system to manage their reading volume, users find it difficult to maintain their reading progress and maintain a daily reading habit. There is a need for a system that can solve this problem and enable users to continue their daily reading efficiently and comfortably.
[0991] 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.
[0992] In this invention, the server includes means for uploading book data owned by the user, means for extracting text data for a volume of reading based on a volume specified by the user, means for displaying the extracted text data on the user terminal, means for recording and managing the user's reading progress, means for analyzing the book data using a natural language processing model on the server and generating meta information, means for providing a setting screen for the user to set the volume of reading, and means for extracting text based on the user's setting each day and preparing the volume for the next day. This allows the user to easily set the volume of reading and appropriately manage their daily reading progress, making it possible to maintain their reading habit without strain.
[0993] "Book data" refers to electronic book files and digital text data owned by the user.
[0994] "Uploading" is the act of a user sending book data from their own terminal to a server.
[0995] "Reading volume" is the number of characters or pages a user wants to read per day.
[0996] "Text data" is continuous character information extracted from book data.
[0997] A "user terminal" is an electronic device used by a user (for example, a smartphone or tablet).
[0998] "Reading progress" is information indicating how far the user has progressed in reading a book.
[0999] A "natural language processing model" is a computer program for analyzing and understanding text data.
[1000] "Meta information" refers to accompanying information such as the number of characters and pages of the entire book.
[1001] The "settings screen" is an interface that allows the user to set the amount of reading within the application.
[1002] "Extraction" is the act of extracting the necessary text data based on the amount of reading specified by the user.
[1003] The system of the present invention manages book data owned by a user and provides text every day according to a specified reading volume, thereby supporting continuous reading.
[1004] Server Features
[1005] Uploading book data
[1006] A user uploads the book data they own to the server using their device. The book data is an e-book file such as a PDF or ePub, and this data is sent to the server and stored in association with the user ID.
[1007] Book Analysis
[1008] The server uses programming languages such as Python and natural language processing (NLP) models such as spaCy and GPT-3 to analyze the text from the uploaded book data, generating meta-information such as the number of characters and pages of the entire book, and storing it in a database (e.g., MySQL or PostgreSQL).
[1009] Setting your reading volume
[1010] Users use the device's settings screen to specify the number of characters or pages they want to read per day, and this setting information is sent to the server, which records the user's preferences in a database.
[1011] Daily Text Generation
[1012] The server manages the user's reading progress and generates daily text based on the set reading volume. The generated text is sent to the user's device. It uses Python and natural language processing models such as GPT-3.
[1013] Device Features
[1014] Displaying Text
[1015] The user's device receives the daily text data sent from the server and displays it so that the user can start reading, using platforms such as Swift (iOS) and Kotlin (Android).
[1016] Reading progress updates
[1017] When a user finishes reading for the day, the device sends that information to the server, which then updates the user's reading progress and adjusts the amount of text for the next day appropriately.
[1018] Hardware and software used
[1019] Hardware: Smartphones, tablets
[1020] software:
[1021] Server side: Python, Django (or Flask), SQL (MySQL / PostgreSQL)
[1022] Client-side: Swift (iOS), Kotlin (Android), React Native (cross-platform)
[1023] Natural Language Processing (NLP): spaCy, NLTK, gensim, GPT-3
[1024] Specific examples
[1025] Example 1: Novel
[1026] A user uploads a novel they own, "Novel A," to the system. If the user sets a daily reading limit of 500 characters, the server extracts 500 characters of text every day and sends them to the user's device. The user can read 500 characters per day using the device, and the next day's 500 characters are automatically prepared based on the user's progress.
[1027] Example 2: A paper
[1028] A user uploads their own paper, "Paper B," to the system. If the user sets a reading limit of three pages per day, the server extracts three pages of text from the analysis results and sends them to the user's device. The user can read three pages per day using their device, and the next three pages are automatically prepared based on their progress.
[1029] Prompt Sentence Examples
[1030] The following prompt sentences are used:
[1031] Extract text from uploaded PDF files and calculate the total number of pages in a book.
[1032] Next, design a system that extracts and serves daily text based on a specified reading volume (e.g., 500 characters per day).
[1033] Also, consider ways for users to update their reading progress each day and adjust the amount of text they consume for the next day based on that.
[1034] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1035] Step 1:
[1036] Book data is uploaded to the server from the user terminal.
[1037] Specifically, a user opens the application on their device, selects an e-book file (e.g., PDF or ePub), and presses the upload button. This sends the book data from the device to the server. The input is the e-book file selected by the user, and the output is a file saved on the server.
[1038] Step 2:
[1039] The server analyzes the received book data.
[1040] The server uses Python and natural language processing libraries (e.g., spaCy and GPT-3) to extract text from book data. The extracted text is stored in a database along with meta information such as the number of characters and pages. The input is the uploaded book data, and the output is the extracted text data and meta information.
[1041] Step 3:
[1042] The user sets the amount of reading.
[1043] The user uses the device's settings screen to specify the number of characters or pages they want to read per day. This setting information is sent to the server and recorded in a database. The input is the user's set reading volume, and the output is the setting information saved on the server.
[1044] Step 4:
[1045] The server generates the daily text.
[1046] The server extracts the text for the specified reading amount based on the user's settings and progress information. Python and natural language processing models such as GPT-3 are used here. The extracted text is stored in a database and prepared for transmission to the user's device. The input is the user's settings and progress information, and the output is the text the user should read next.
[1047] Step 5:
[1048] Text data is sent from the server to the user terminal.
[1049] The server sends the daily reading quota to the user's terminal. The user can display the text on the terminal and start reading. The input is the text data generated by the server, and the output is the text displayed on the user's terminal.
[1050] Step 6:
[1051] The user updates their reading progress.
[1052] When a user finishes reading for the day, they press the "Finish Reading" button to send progress information from their device to the server. The server updates the database based on this information and adjusts the amount of text for the next day appropriately. The input is the user's reading completion information, and the output is the updated server's progress information.
[1053] 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.
[1054] This invention combines a system that manages a user's book data online and provides text according to the user's designated reading volume with an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[1055] Book Upload
[1056] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[1057] Book Analysis
[1058] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[1059] Setting your reading volume
[1060] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[1061] Recognition of emotional states
[1062] The emotion engine recognizes the user's emotional state. When the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the server. The server analyzes this data and recognizes the user's emotional state.
[1063] Adjusting your reading volume
[1064] The server adjusts the reading volume based on the user's recognized emotional state. For example, if the user's emotional state indicates stress or fatigue, the server reduces the set reading volume, and if the user's emotional state indicates relaxation or excitement, the server increases the reading volume. This information is reflected in the extraction of the next text to display.
[1065] Daily Text Generation
[1066] The server checks the user's reading progress and emotional state, determines the next text position to display, extracts the text for that day based on the specified reading volume, and prepares the extracted text data for transmission to the user's terminal.
[1067] Displaying Text
[1068] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[1069] Progress Updates
[1070] When a user finishes reading for the day, they indicate that the day's reading is complete on their device. The device sends this progress information to the server, which records the user's reading progress. The server saves the starting position of the text to be displayed the next day, preparing for the next day's reading.
[1071] Specific examples
[1072] Example 1: Novel
[1073] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. If the emotion engine detects the user's emotional state and indicates stress, the server reduces the reading amount for that day to 400 characters and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. By repeating this process, the user can comfortably continue reading the novel.
[1074] Example 2: A paper
[1075] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. If the emotion engine detects the user's emotional state and indicates a relaxed state, the server increases the reading amount for that day to four pages and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. This allows the user to comfortably read the entire paper every day.
[1076] In this way, the object of the present invention is to dynamically adjust the amount of reading depending on the user's emotional state, allowing the user to maintain a reading habit without straining themselves.
[1077] The processing flow will be explained below.
[1078] Step 1:
[1079] Select the book data owned by the user.
[1080] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[1081] Step 2:
[1082] The terminal uploads the selected book data to the server.
[1083] The terminal transmits the selected book data to the server, and the server receives the data.
[1084] Step 3:
[1085] The server stores the book data and performs analysis.
[1086] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[1087] Step 4:
[1088] The server accepts the user's reading volume setting.
[1089] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[1090] Step 5:
[1091] The terminal sends the setting information to the server.
[1092] The device sends the user's set reading amount (e.g., 500 characters) to the server, which stores this information.
[1093] Step 6:
[1094] An emotion engine recognizes the user's emotional state.
[1095] Before the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the emotion engine.
[1096] Step 7:
[1097] The server analyzes the data for the emotion engine.
[1098] The emotion engine in the server analyzes the received data and recognizes the user's emotional state.
[1099] Step 8:
[1100] The server regulates the amount of reading.
[1101] Based on the perceived emotional state, the server adjusts the user's reading preference, for example, decreasing the reading preference if the emotional state indicates stress and increasing the reading preference if the emotional state indicates relaxation.
[1102] Step 9:
[1103] The server extracts the text based on the adjusted reading volume.
[1104] The server extracts the text data for that day based on an adjusted reading volume (e.g., 400 characters).
[1105] Step 10:
[1106] The server transmits the extracted text data to the terminal.
[1107] The server sends a day's worth of text data to the user's device.
[1108] Step 11:
[1109] The terminal displays the text data.
[1110] The terminal displays the received text data on the screen, allowing the user to begin reading.
[1111] Step 12:
[1112] The user finishes reading.
[1113] The user indicates at the terminal that he has completed his reading for the day.
[1114] Step 13:
[1115] The terminal sends progress information to the server.
[1116] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[1117] Step 14:
[1118] The server updates the progress.
[1119] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[1120] Example 2
[1121] 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."
[1122] Conventional online book management systems have the problem that users cannot individually adjust the amount of reading they consume, and the reading experience does not take into account the user's emotional state, making it difficult to maintain a reading habit. The present invention aims to provide a system that automatically adjusts the amount of reading according to the user's emotional state, improving the user's reading experience and supporting a continuous reading habit.
[1123] The specification process by the specification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading digital books owned by the user, means for analyzing text data of the uploaded digital books and acquiring metadata (number of characters, number of pages, etc.), means for extracting text data for a volume designated by the user based on the volume designated by the user, means for collecting the user's biometric data, facial expression, and tone of voice to recognize the user's emotional state, means for adjusting the volume of reading based on the recognized emotional state, means for displaying re-extracted text data based on the adjusted volume of reading on the user terminal, and means for recording and managing the user's reading progress. This makes it possible to adjust the volume of reading taking the user's emotional state into consideration and optimize the reading experience.
[1124]
[1125] A "digital book" is a book in electronic format, and is book data provided in file formats such as PDF and ePub.
[1126] "Uploading means" refers to the function or process by which a user transfers their digital books to an online server.
[1127] The "means of analysis" is a function or process that extracts text data from uploaded digital books and obtains metadata such as the number of characters and the number of pages.
[1128] An "extracting means" is a function or process that selects a specific amount of text data based on a user-specified amount of reading.
[1129] The "means for recognizing emotional state" is a function or process that collects and analyzes the user's biometric data, facial expressions, and tone of voice to determine the user's emotional state.
[1130] The "adjusting means" is a function or process that modifies the pre-set reading volume to an appropriate amount based on the perceived emotional state.
[1131] The "means for displaying" is a function or process for presenting the extracted text data based on the adjusted reading volume on the screen of the user terminal.
[1132] The "means for recording and managing" is a function or process for saving the user's reading progress in a database and managing the reading start position for the next day.
[1133] "Biometric data" is information that indicates the physiological state of the user, and includes data such as heart rate and skin temperature.
[1134]
[1135] This invention combines a system that manages a user's digital books online, extracts and provides text according to the user's designated reading volume, and an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[1136] Book Upload
[1137] Users upload their digital books (e.g., e-book files such as PDF or ePub) to the server via their devices. The devices send the book files selected by the user to the server using an HTTP request. The server stores the received book data in a specific directory and records the file path in a database, associating it with the user ID.
[1138] Book Analysis
[1139] The server analyzes the uploaded digital book data and extracts text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). Additionally, the server calculates metadata such as the number of characters and pages in the entire book and stores this in a database.
[1140] Setting your reading volume
[1141] The user sets the number of characters or pages they want to read per day on their device. For example, if they specify "I want to read 500 characters per day," the device sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database.
[1142] Recognition of emotional states
[1143] When a user starts reading, the device uses a camera, microphone, and sensors to collect the user's facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature), and sends this data to the server in real time. The server then uses the received data to activate an emotion engine and recognize the user's emotional state. This process uses emotion recognition APIs (e.g., Microsoft Azure Emotion API, Affectiva).
[1144] Adjusting your reading volume
[1145] The server adjusts the set reading volume appropriately based on the analysis results of the emotion engine. For example, if the user is feeling stressed, the server will reduce the reading volume, and if the user is feeling relaxed, the server will increase the reading volume.
[1146] Daily Text Generation
[1147] The server determines the text for that day based on the user's reading progress and emotional state, determines the text extraction position based on the specified reading volume, and prepares to extract and send an appropriate amount of text data to the terminal.
[1148] Displaying Text
[1149] The server sends the generated text data to the user's terminal, which displays the received text data on the screen in a format that is easy for the user to read, and the user continues to read the displayed text.
[1150] Progress Updates
[1151] When a user finishes reading for the day, they press the "Finish Reading" button on their device. The device then sends reading progress information to the server, which records this progress information in a database. The server also manages the starting position for the next day's reading.
[1152] Specific examples
[1153] Example 1: Novel
[1154] A user uploads "Novel A" and sets the goal of reading 500 characters per day. If the emotion engine detects that the user is stressed, the server reduces the reading volume for that day to 400 characters and extracts the text. Each time the user finishes reading this text on their device, the server prepares the text for the next day.
[1155] Example 2: A paper
[1156] A user uploads "Paper B" and sets the goal of reading three pages per day. If the emotion engine detects a relaxed state, the server increases the reading limit for that day to four pages and extracts the text. This allows the user to comfortably read the paper every day.
[1157] Prompt Sentence Examples
[1158] Describe a system that manages a user's book collection online, provides text based on the user's specified reading volume, and dynamically adjusts the reading volume based on the user's emotional state.
[1159] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1160]
[1161] Step 1:
[1162] The user selects a digital book file (e.g. PDF, ePub) using the terminal. The terminal sends the selected book file to the server via an HTTP request. The server receives the file and stores it in a specific directory. The input of this process is the book file, and the output is the path of the book file stored in the server.
[1163] Step 2:
[1164] The server analyzes the uploaded digital book file and extracts the text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). The server calculates metadata such as the number of characters and pages for the entire book and stores it in a database. The input for this process is the book file, and the output is the extracted text data and metadata.
[1165] Step 3:
[1166] The user uses the device to set the number of characters or pages they want to read per day. For example, they might specify "I want to read 500 characters every day." The device then sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database. The input to this process is the user's setting information, and the output is the setting information recorded in the database.
[1167] Step 4:
[1168] When a user starts reading, the device uses a camera, microphone, and sensors to collect facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature). The device then transmits the collected data to a server in real time. The server then uses the received data to run an emotion engine and recognize the user's emotional state. The input to this process is the user's biometric data, and the output is the recognized emotional state.
[1169] Step 5:
[1170] The server adjusts the set reading volume based on the recognized emotional state. For example, if the user is stressed, the server reduces the reading volume, and if the user is relaxed, it increases the reading volume. An algorithm is used to calculate and reset the optimal reading volume. The inputs to this process are the emotional state and the initial reading volume, and the output is the adjusted reading volume.
[1171] Step 6:
[1172] The server checks the user's reading progress and emotional state and determines the text generation position for that day. Based on the specified reading volume, it extracts the required amount of text data. The server then prepares the extracted text data for transmission to the terminal. The input of this process is the user's progress information and the adjusted reading volume, and the output is the text data ready to be sent.
[1173] Step 7:
[1174] The server sends the generated text data to the user's terminal. The terminal displays the received text data on its screen in an easy-to-read format. The user then reads the displayed text. The input of this process is the text data, and the output is the displayed text on the terminal.
[1175] Step 8:
[1176] When a user finishes reading for the day, they press the "Finish reading" button on their device. The device sends the reading progress information to the server. The server records this progress information in a database and manages the reading start position for the next day. The input of this process is the user's reading completion information, and the output is the updated reading progress information.
[1177] (Application example 2)
[1178] 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."
[1179] Conventional user data management systems provide data uniformly without considering the user's emotional state, making it difficult to use data that adapts to the user's fatigue or stress. Furthermore, optimization of the user experience in the food delivery field has lagged, and menu suggestions based on the user's emotions are not made. This has led to the issue of not being able to provide optimal suggestions based on the user's true needs, resulting in a decline in user satisfaction.
[1180] 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.
[1181] In this invention, the server includes a means for uploading data owned by the user, a means for extracting an amount of data based on a usage amount specified by the user, a means for displaying the extracted data on the user terminal, a means for recording and managing the user's usage progress, an emotion recognition means for recognizing the user's emotional state, and a means for adjusting the usage amount based on the recognized emotional state. This makes it possible to provide data adapted to the user's emotional state, allowing the user to have a more comfortable data usage experience. Furthermore, by making optimal suggestions based on the user's emotional state, user satisfaction can be improved.
[1182] "User-Owned Data" means information that is in a digital format owned by a User and available for personal or commercial use.
[1183] An "uploading means" is software or hardware that has the function of sending data owned by a user to a server or cloud service.
[1184] A "specified amount of usage" is a specific amount of data that a user wants to use or consume within a specific time period.
[1185] A "means for extracting data" is a method or device for extracting necessary data from a database or storage based on a specified usage amount.
[1186] "User terminal" refers to any device that can be directly operated by a user, including smartphones, tablets, and PCs.
[1187] A "displaying means" is software or hardware for visually presenting data on a user terminal.
[1188] "Means for recording and managing usage progress" is a function for measuring the extent to which a user has used data, and storing and analyzing that history.
[1189] The "emotion recognition means" is a device or software that analyzes the user's facial expression, tone of voice, biometric data, etc., to evaluate the user's emotional state in real time.
[1190] A "means for adjusting usage" is a function for dynamically changing the amount of data provided to a user based on a recognized emotional state.
[1191] A "means for making suggestions" is a device or software that presents optimal data usage methods and options based on the user's emotional state.
[1192] This invention is a system that manages data owned by a user online and dynamically adjusts the amount of data used depending on the user's emotional state. This system is composed of a server, a terminal, and a user. Specifically, it is implemented in the following way.
[1193] Uploading data
[1194] Users upload their data to the server through their devices. The devices then process the data files selected by the users to send them to the server. The server then stores the received data and records it in association with the user ID.
[1195] Data analysis
[1196] The server then analyzes the uploaded data and extracts text data. The extracted data is provided according to the usage amount specified by the user. The server also calculates the total data volume and meta information and stores it in a database.
[1197] Usage setting
[1198] The user sets the daily usage amount, such as the number of characters or pages, on the device. The device sends this setting information to the server, which records it. This allows the server to know how much data to provide to the user each day.
[1199] Recognition of emotional states
[1200] The emotion recognition means is used to recognize the user's emotional state. Specifically, when a user starts using the system, the device collects the user's emotional data (e.g., facial expressions, tone of voice, and biometric data) through a camera and microphone and transmits them to the server. The server analyzes this data and evaluates the user's emotional state in real time.
[1201] Usage adjustment
[1202] The server adjusts the set amount of data usage based on the user's perceived emotional state. For example, if the user is stressed, the amount of data is reduced, and if the user is relaxed, the amount is increased. This adjustment information is reflected in the next data extraction to be displayed.
[1203] Daily data generation
[1204] The server checks the user's usage progress and emotional state, determines the next data location to display, extracts the amount of data for that day based on the specified usage amount, and prepares the extracted data for transmission to the user's terminal.
[1205] Viewing Data
[1206] The server sends the generated data for one day to the user's device. The device displays the received data on the screen and allows the user to start using the service. This allows the user to comfortably manage their daily usage volume.
[1207] Progress Updates
[1208] When a user finishes using data for the day, they indicate that the day's usage is complete on their device. The device then sends this progress information to the server, which records the user's usage progress. The server then saves the start position of the data to be displayed the next day, preparing for the next day's usage.
[1209] Specific examples
[1210] Example 1: Food delivery
[1211] When a user accesses a food delivery app, their emotional state is captured via the camera and microphone. If the emotion engine recognizes the user's emotional state as "stressed," it automatically suggests food items with a relaxing effect (for example, matcha or chocolate-based sweets).
[1212] Example prompt sentence:
[1213] I need a food delivery application where the user understands his / her emotional state using an emotion engine. I want to suggest relaxing menu items based on the user's emotional state. For example, if a stressful state is detected, I want to show menu items with a relaxing effect. Please provide an example of a model that detects emotional states and a concrete example of food suggestions.
[1214] This invention enables users to use data optimally according to their emotional state, improving the quality of their data use experience.
[1215] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1216] Step 1:
[1217] Uploading data owned by users
[1218] Users upload their data to the server through their devices. The input is a data file (e.g., a PDF or image file) selected by the user. The device then sends this data file to the server. The server saves the received data and records it in association with the user ID. This allows the data to be stored securely online.
[1219] Step 2:
[1220] Data analysis
[1221] The server parses the uploaded data and extracts the text data. The input is the uploaded data file. The server uses optical character recognition (OCR) software to extract the text and stores the extracted text data in a database. This allows the server to extract the data accurately according to the usage amount specified by the user later.
[1222] Step 3:
[1223] Usage setting
[1224] The user sets the daily usage amount on the device. For example, the user may specify "I want to use 500 characters per day." This setting information is sent from the device to the server, which records it. This allows the server to know how much data to provide to the user each day.
[1225] Step 4:
[1226] Recognition of emotional states
[1227] The emotion recognition means detects the user's emotional state. Inputs include the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature). The device collects this data using a camera and sensors and sends it to the server. The server uses an emotion recognition engine (e.g., a deep learning model) to analyze and recognize the emotional state. For example, it can determine whether the user is stressed or relaxed.
[1228] Step 5:
[1229] Usage adjustment
[1230] The server adjusts the set usage amount based on the recognized emotional state of the user. The input is the emotional state analyzed by the server and the original usage amount setting. The output is the adjusted usage amount. For example, if the user is stressed, the usage amount is reduced to 400 characters, and if they are relaxed, it is increased to 600 characters. This information is reflected in the next data to be extracted.
[1231] Step 6:
[1232] Daily data generation
[1233] The server checks the user's usage progress and emotional state, and determines the location of the next data to display. The input is the user's usage progress and adjusted usage volume. The server extracts the required amount of data from the database and prepares it for transmission to the user's device. For example, it extracts and transmits the text data for that day.
[1234] Step 7:
[1235] Viewing Data
[1236] The server sends the generated data for one day to the user's device. The device displays the received data on the screen. This allows the user to comfortably manage their daily usage. For example, the data displayed can be 500 characters specified by the user or 400 characters after adjustment.
[1237] Step 8:
[1238] Usage progress update
[1239] When a user finishes using data for the day, the device will display information indicating that use is complete for that day. Input is provided by the user's actions, such as pressing the "End" button. The device then sends this progress information to the server, which records the user's usage progress in a database. The server then saves the start position of the data to be displayed the next day, preparing for use on that day. This allows for smooth, continuous data use.
[1240] These steps enable data usage that is adapted to the user's emotional state, providing the user with a comfortable data usage experience.
[1241] 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.
[1242] 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.
[1243] 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.
[1244] [Fourth embodiment]
[1245] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1246] 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.
[1247] 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).
[1248] 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.
[1249] 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.
[1250] 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).
[1251] 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.
[1252] 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.
[1253] 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.
[1254] 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.
[1255] 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.
[1256] 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.
[1257] 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."
[1258] The present invention is a system that manages book data owned by a user online and provides text according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[1259] Book Upload
[1260] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[1261] Book Analysis
[1262] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[1263] Setting your reading volume
[1264] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[1265] Daily Text Generation
[1266] The server checks the user's reading progress and determines the next text position to display. Based on the specified reading volume (e.g., 500 characters), it extracts the text for that day. The server prepares the extracted text data for transmission to the user's terminal.
[1267] Displaying Text
[1268] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[1269] Progress Updates
[1270] When a user finishes reading for the day, they indicate that they have finished reading on their device. The device then sends this progress information to the server, which records the user's reading progress. The server then adjusts the text displayed for the next day appropriately, allowing the user to continue reading comfortably the next day.
[1271] Specific examples
[1272] Example 1: Novel
[1273] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[1274] Example 2: A paper
[1275] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. Once the user has read three pages of text on their device for that day, the server prepares three pages of text for the next day. This allows the user to comfortably read the entire paper every day.
[1276] In this way, it is an object of the present invention to enable users to maintain their reading habits without straining themselves.
[1277] The processing flow will be explained below.
[1278] Step 1:
[1279] Select the book data owned by the user.
[1280] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[1281] Step 2:
[1282] The terminal uploads the selected book data to the server.
[1283] The terminal transmits the selected book data to the server, and the server receives the data.
[1284] Step 3:
[1285] The server stores the book data and performs analysis.
[1286] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[1287] Step 4:
[1288] The user sets the amount of reading.
[1289] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[1290] Step 5:
[1291] The terminal sends the setting information to the server.
[1292] The terminal transmits the amount of reading set by the user (for example, 500 characters) to the server.
[1293] Step 6:
[1294] The server stores the configuration information.
[1295] The server stores user preferences and records each user's reading volume.
[1296] Step 7:
[1297] The server calculates the location of the text extract for each day.
[1298] The server checks the user's progress and calculates the starting position of the next text to display based on the specified amount of reading.
[1299] Step 8:
[1300] The server extracts the text data.
[1301] The server extracts the text data for that day from the calculated starting position based on a set reading amount (e.g., 500 characters).
[1302] Step 9:
[1303] The server transmits the extracted text data to the terminal.
[1304] The server sends a day's worth of text data to the user's device.
[1305] Step 10:
[1306] The terminal displays the text data.
[1307] The terminal displays the received text data on the screen, allowing the user to begin reading.
[1308] Step 11:
[1309] The user finishes reading.
[1310] The user indicates at the terminal that he has completed his reading for the day.
[1311] Step 12:
[1312] The terminal sends progress information to the server.
[1313] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[1314] Step 13:
[1315] The server updates the progress.
[1316] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[1317] Example 1
[1318] 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."
[1319] Conventional reading management systems lack the functionality to efficiently manage the book data owned by the user and provide appropriate texts tailored to the user's reading habits. As a result, users must adjust their reading volume themselves, making it difficult to maintain a consistent reading habit. Furthermore, reading progress management is often done manually, making efficient reading management difficult. To solve these issues, a system is needed that automatically manages reading volume and efficiently records and manages users' reading progress.
[1320] 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.
[1321] In this invention, the server includes means for uploading book data owned by the user, means for the server to analyze the book data and extract text data and meta information and store them in a database, means for the user to set the amount of reading they want to do per day and send it to the server, means for the server to check the user's reading progress and extract text based on the specified amount of reading, means for the server to display the extracted text data on the user terminal, and means for recording and managing the user's reading progress. This allows the user to effortlessly manage their reading volume and efficiently maintain their reading habits.
[1322] "User" refers to a person who uses this system.
[1323] "Book data" refers to e-book files (PDF, ePub, etc.) owned by the user.
[1324] The "uploading means" refers to a device or program that provides a function for a user to send book data to a server.
[1325] The "analyzing means" refers to a program or algorithm that the server uses to extract text data and meta information from book data.
[1326] "Text data" is text information of the contents extracted from the book data.
[1327] "Meta information" is auxiliary information about book data (such as the number of characters and the number of pages).
[1328] A "database" is a system for managing information stored in a server.
[1329] "Reading volume" refers to the number of characters or pages a user wants to read per day.
[1330] The "extracting means" is a program or algorithm that the server uses to extract text data based on the specified reading volume.
[1331] The "display means" refers to a device or program that allows the terminal to show the extracted text data to the user.
[1332] "Reading progress" is progress data about how much a user has read.
[1333] "Means for recording and managing" refers to a program or system that allows the server to save the user's reading progress and adjust the amount of reading for the next day.
[1334] The present invention is a system that manages book data owned by users online and provides texts according to the amount of reading specified by the user. This system is composed of a server, terminals, and users.
[1335] Hardware and Software Examples
[1336] Server: Cloud server (e.g., Amazon Web Services (AWS) EC2 instance)
[1337] Device: PC or smartphone used by the user
[1338] Analysis software: Text analysis library (e.g., Apache Tika)
[1339] Database: Cloud database service (e.g., AWS RDS)
[1340] Storage: Cloud storage service (e.g. Amazon S3)
[1341] Explanation of program processing
[1342] Book Upload
[1343] The user uses the device to select and upload the book data they own (for example, e-book files such as PDF or ePub). The device then sends the book file selected by the user to the server as an HTTP request. The server saves the received book data in cloud storage, associates it with the user ID, and records it in a database.
[1344] Book Analysis
[1345] The server analyzes the uploaded book data using analysis software (e.g., Apache Tika) and extracts the text data from the book. It also calculates meta-information such as the number of characters and pages in the entire book and stores it in a database. This allows the server to accurately extract text according to the reading volume specified by the user later.
[1346] Setting your reading volume
[1347] The user uses their device to set the number of characters or pages they want to read per day. For example, they might set "I want to read 500 characters per day." This setting information is sent from the device to the server, which then records the setting information for each user in a database. This allows the server to determine how much text to provide to the user each day.
[1348] Daily Text Generation
[1349] The server checks the user's reading progress in the database and determines the next text to be provided. At this time, it extracts the text for that day based on the specified reading amount (e.g., 500 characters). The extracted text is temporarily stored and ready to be provided to the user.
[1350] Displaying Text
[1351] The server sends the generated text data for one day to the user's device, which then displays the received text data on the screen. This allows the user to read the set amount each day.
[1352] Progress Updates
[1353] When a user finishes reading for the day, they press the "Finish Reading" button on their device. This information is sent from the device to the server, which records the user's reading progress in a database. The next day, the server will be able to provide new text based on the progress information.
[1354] Specific examples
[1355] Example 1: Novel
[1356] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. The server extracts 500 characters of text every day and sends them to the device. When the user finishes reading for the day, the server prepares a new 500 characters for the next day. By repeating this process, the user can comfortably continue reading the novel.
[1357] Example 2: A paper
[1358] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. The server calculates the number of characters per page from the analysis results and extracts three pages of text. When the user finishes reading those three pages on their device, they press a "Done reading" button. The server prepares three new pages of text for the next day. The user can comfortably read the entire paper every day.
[1359] Prompt Sentence Examples
[1360] Example prompts using a generative AI model:
[1361] For novels:
[1362] Generate 500 characters of text every day.
[1363] For papers:
[1364] Generate the following three pages of text based on the number of characters per page:
[1365] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1366] Step 1:
[1367] The user opens the file selection screen on the device and selects their book data (e.g., PDF or ePub file). The device then obtains the path to the specified file. The input is the book data, and the output is the file path.
[1368] Step 2:
[1369] The terminal sends the selected book file to the server as an HTTP request, which includes the user ID and file path. The input is the file path and user ID, and the output is the transmission completion status.
[1370] Step 3:
[1371] The server saves the received book data in cloud storage and records it in a database along with the associated user ID. Specifically, it saves it in a storage such as Amazon S3 and records its URL in the database. The input is the book data and the user ID, and the output is the save completion status and the success of the database record.
[1372] Step 4:
[1373] The server uses a text analysis library (e.g., Apache Tika) to analyze the stored book data and extracts the text data from the book. The input is the URL of the book data, and the output is the extracted text data.
[1374] Step 5:
[1375] The server calculates meta information such as the number of characters and pages of the entire book and stores it in a database. Specifically, it analyzes the number of characters and pages using Python or similar. The input is the extracted text data, and the output is the calculated meta information.
[1376] Step 6:
[1377] The user enters the number of characters or pages they want to read per day on the device's settings screen. For example, they might set it to "I want to read 500 characters per day." The input is the number of characters or pages they want to read, and the output is the setting information.
[1378] Step 7:
[1379] The terminal sends the setting information entered by the user to the server as an HTTP request. The request includes the user ID and setting information. The input is the setting information, and the output is a transmission completion status.
[1380] Step 8:
[1381] The server stores the received setting information in a database. This allows the server to track the amount of reading customized for each user. The input is the setting information, and the output is the record status in the database.
[1382] Step 9:
[1383] The server checks the user's reading progress from the database and determines the position of the next text to be provided. For example, if the user has read 500 characters up to the previous day, it calculates the position of the next 500 characters. The input is progress information and setting information. The output is the position of the next text.
[1384] Step 10:
[1385] The server extracts the text for that day based on the specified reading volume (e.g., 500 characters). The extracted text is temporarily stored. The input is the position and setting information of the next text, and the output is the text for that day.
[1386] Step 11:
[1387] The server sends the generated text data for one day to the user terminal. Here, the text data is sent as an HTTP response. The input is the text data for that day, and the output is the transmission completion status.
[1388] Step 12:
[1389] The terminal displays the received text data on the screen, allowing the user to read a set amount of text each day. The input is the received text data, and the output is the displayed text.
[1390] Step 13:
[1391] When a user finishes reading for the day, they press the "Reading Complete" button on the terminal. This input is recorded on the terminal. The input is the pressing of the reading completion button, and the output is the completion information.
[1392] Step 14:
[1393] The terminal sends an HTTP request containing "reading completion" information to the server. The request includes the user ID and progress information. The input is the reading completion information, and the output is the sending completion status.
[1394] Step 15:
[1395] The server saves the received progress information in a database and makes the necessary adjustments to the reading for the next day. This allows the user to continue reading comfortably the next day. The input is reading progress information, and the output is the recording status in the database.
[1396] (Application example 1)
[1397] 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."
[1398] In today's busy lifestyles, many people find it difficult to find time to read. Without a proper system to manage their reading volume, users find it difficult to maintain their reading progress and maintain a daily reading habit. There is a need for a system that can solve this problem and enable users to continue their daily reading efficiently and comfortably.
[1399] 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.
[1400] In this invention, the server includes means for uploading book data owned by the user, means for extracting text data for a volume of reading based on a volume specified by the user, means for displaying the extracted text data on the user terminal, means for recording and managing the user's reading progress, means for analyzing the book data using a natural language processing model on the server and generating meta information, means for providing a setting screen for the user to set the volume of reading, and means for extracting text based on the user's setting each day and preparing the volume for the next day. This allows the user to easily set the volume of reading and appropriately manage their daily reading progress, making it possible to maintain their reading habit without strain.
[1401] "Book data" refers to electronic book files and digital text data owned by the user.
[1402] "Uploading" is the act of a user sending book data from their own terminal to a server.
[1403] "Reading volume" is the number of characters or pages a user wants to read per day.
[1404] "Text data" is continuous character information extracted from book data.
[1405] A "user terminal" is an electronic device used by a user (for example, a smartphone or tablet).
[1406] "Reading progress" is information indicating how far the user has progressed in reading a book.
[1407] A "natural language processing model" is a computer program for analyzing and understanding text data.
[1408] "Meta information" refers to accompanying information such as the number of characters and pages of the entire book.
[1409] The "settings screen" is an interface that allows the user to set the amount of reading within the application.
[1410] "Extraction" is the act of extracting the necessary text data based on the amount of reading specified by the user.
[1411] The system of the present invention manages book data owned by a user and provides text every day according to a specified reading volume, thereby supporting continuous reading.
[1412] Server Features
[1413] Uploading book data
[1414] A user uploads the book data they own to the server using their device. The book data is an e-book file such as a PDF or ePub, and this data is sent to the server and stored in association with the user ID.
[1415] Book Analysis
[1416] The server uses programming languages such as Python and natural language processing (NLP) models such as spaCy and GPT-3 to analyze the text from the uploaded book data, generating meta-information such as the number of characters and pages of the entire book, and storing it in a database (e.g., MySQL or PostgreSQL).
[1417] Setting your reading volume
[1418] Users use the device's settings screen to specify the number of characters or pages they want to read per day, and this setting information is sent to the server, which records the user's preferences in a database.
[1419] Daily Text Generation
[1420] The server manages the user's reading progress and generates daily text based on the set reading volume. The generated text is sent to the user's device. It uses Python and natural language processing models such as GPT-3.
[1421] Device Features
[1422] Displaying Text
[1423] The user's device receives the daily text data sent from the server and displays it so that the user can start reading, using platforms such as Swift (iOS) and Kotlin (Android).
[1424] Reading progress updates
[1425] When a user finishes reading for the day, the device sends that information to the server, which then updates the user's reading progress and adjusts the amount of text for the next day appropriately.
[1426] Hardware and software used
[1427] Hardware: Smartphones, tablets
[1428] software:
[1429] Server side: Python, Django (or Flask), SQL (MySQL / PostgreSQL)
[1430] Client-side: Swift (iOS), Kotlin (Android), React Native (cross-platform)
[1431] Natural Language Processing (NLP): spaCy, NLTK, gensim, GPT-3
[1432] Specific examples
[1433] Example 1: Novel
[1434] A user uploads a novel they own, "Novel A," to the system. If the user sets a daily reading limit of 500 characters, the server extracts 500 characters of text every day and sends them to the user's device. The user can read 500 characters per day using the device, and the next day's 500 characters are automatically prepared based on the user's progress.
[1435] Example 2: A paper
[1436] A user uploads their own paper, "Paper B," to the system. If the user sets a reading limit of three pages per day, the server extracts three pages of text from the analysis results and sends them to the user's device. The user can read three pages per day using their device, and the next three pages are automatically prepared based on their progress.
[1437] Prompt Sentence Examples
[1438] The following prompt sentences are used:
[1439] Extract text from uploaded PDF files and calculate the total number of pages in a book.
[1440] Next, design a system that extracts and serves daily text based on a specified reading volume (e.g., 500 characters per day).
[1441] Also, consider ways for users to update their reading progress each day and adjust the amount of text they consume for the next day based on that.
[1442] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1443] Step 1:
[1444] Book data is uploaded to the server from the user terminal.
[1445] Specifically, a user opens the application on their device, selects an e-book file (e.g., PDF or ePub), and presses the upload button. This sends the book data from the device to the server. The input is the e-book file selected by the user, and the output is a file saved on the server.
[1446] Step 2:
[1447] The server analyzes the received book data.
[1448] The server uses Python and natural language processing libraries (e.g., spaCy and GPT-3) to extract text from book data. The extracted text is stored in a database along with meta information such as the number of characters and pages. The input is the uploaded book data, and the output is the extracted text data and meta information.
[1449] Step 3:
[1450] The user sets the amount of reading.
[1451] The user uses the device's settings screen to specify the number of characters or pages they want to read per day. This setting information is sent to the server and recorded in a database. The input is the user's set reading volume, and the output is the setting information saved on the server.
[1452] Step 4:
[1453] The server generates the daily text.
[1454] The server extracts the text for the specified reading amount based on the user's settings and progress information. Python and natural language processing models such as GPT-3 are used here. The extracted text is stored in a database and prepared for transmission to the user's device. The input is the user's settings and progress information, and the output is the text the user should read next.
[1455] Step 5:
[1456] Text data is sent from the server to the user terminal.
[1457] The server sends the daily reading quota to the user's terminal. The user can display the text on the terminal and start reading. The input is the text data generated by the server, and the output is the text displayed on the user's terminal.
[1458] Step 6:
[1459] The user updates their reading progress.
[1460] When a user finishes reading for the day, they press the "Finish Reading" button to send progress information from their device to the server. The server updates the database based on this information and adjusts the amount of text for the next day appropriately. The input is the user's reading completion information, and the output is the updated server's progress information.
[1461] 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.
[1462] This invention combines a system that manages a user's book data online and provides text according to the user's designated reading volume with an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[1463] Book Upload
[1464] The user uploads the book data (e.g., e-book files such as PDF or ePub) they own to the server via their device. The device then performs the procedure to send the book file selected by the user to the server. The server saves the received book data and records it in association with the user ID.
[1465] Book Analysis
[1466] The server analyzes the uploaded book data and extracts the text data. The server also calculates meta information such as the number of characters and pages of the entire book and stores it in a database. This analysis allows the server to extract the text accurately according to the reading volume specified by the user later.
[1467] Setting your reading volume
[1468] The user uses the device to set the number of characters or pages they want to read per day. For example, the user may specify that they want to read 500 characters per day. The device sends this setting information to the server, which then records the user's setting information. This allows the server to know how much text to provide to the user each day.
[1469] Recognition of emotional states
[1470] The emotion engine recognizes the user's emotional state. When the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the server. The server analyzes this data and recognizes the user's emotional state.
[1471] Adjusting your reading volume
[1472] The server adjusts the reading volume based on the user's recognized emotional state. For example, if the user's emotional state indicates stress or fatigue, the server reduces the set reading volume, and if the user's emotional state indicates relaxation or excitement, the server increases the reading volume. This information is reflected in the extraction of the next text to display.
[1473] Daily Text Generation
[1474] The server checks the user's reading progress and emotional state, determines the next text position to display, extracts the text for that day based on the specified reading volume, and prepares the extracted text data for transmission to the user's terminal.
[1475] Displaying Text
[1476] The server sends the generated text data for one day to the user's device. The device displays the received text data on the screen and allows the user to start reading. This allows the user to comfortably complete their daily reading volume.
[1477] Progress Updates
[1478] When a user finishes reading for the day, they indicate that the day's reading is complete on their device. The device sends this progress information to the server, which records the user's reading progress. The server saves the starting position of the text to be displayed the next day, preparing for the next day's reading.
[1479] Specific examples
[1480] Example 1: Novel
[1481] Suppose a user uploads "Novel A" and sets an intention to read 500 characters per day. If the emotion engine detects the user's emotional state and indicates stress, the server reduces the reading amount for that day to 400 characters and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. By repeating this process, the user can comfortably continue reading the novel.
[1482] Example 2: A paper
[1483] Suppose a user uploads "Paper B" and sets an intention to read three pages per day. If the emotion engine detects the user's emotional state and indicates a relaxed state, the server increases the reading amount for that day to four pages and extracts the text. When the user finishes reading the text for that day on their device, the server prepares the text for the next day. This allows the user to comfortably read the entire paper every day.
[1484] In this way, the object of the present invention is to dynamically adjust the amount of reading depending on the user's emotional state, allowing the user to maintain a reading habit without straining themselves.
[1485] The processing flow will be explained below.
[1486] Step 1:
[1487] Select the book data owned by the user.
[1488] The user uses the terminal to select book data (e.g., a PDF or ePub file).
[1489] Step 2:
[1490] The terminal uploads the selected book data to the server.
[1491] The terminal transmits the selected book data to the server, and the server receives the data.
[1492] Step 3:
[1493] The server stores the book data and performs analysis.
[1494] The server stores the received book data, analyzes it, extracts text data, and calculates meta information such as the total number of characters and pages.
[1495] Step 4:
[1496] The server accepts the user's reading volume setting.
[1497] The user uses the device to set the number of characters or pages they want to read per day, for example, "I want to read 500 characters every day."
[1498] Step 5:
[1499] The terminal sends the setting information to the server.
[1500] The device sends the user's set reading amount (e.g., 500 characters) to the server, which stores this information.
[1501] Step 6:
[1502] An emotion engine recognizes the user's emotional state.
[1503] Before the user starts reading, the device collects the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature) and sends them to the emotion engine.
[1504] Step 7:
[1505] The server analyzes the data for the emotion engine.
[1506] The emotion engine in the server analyzes the received data and recognizes the user's emotional state.
[1507] Step 8:
[1508] The server regulates the amount of reading.
[1509] Based on the perceived emotional state, the server adjusts the user's reading preference, for example, decreasing the reading preference if the emotional state indicates stress and increasing the reading preference if the emotional state indicates relaxation.
[1510] Step 9:
[1511] The server extracts the text based on the adjusted reading volume.
[1512] The server extracts the text data for that day based on an adjusted reading volume (e.g., 400 characters).
[1513] Step 10:
[1514] The server transmits the extracted text data to the terminal.
[1515] The server sends a day's worth of text data to the user's device.
[1516] Step 11:
[1517] The terminal displays the text data.
[1518] The terminal displays the received text data on the screen, allowing the user to begin reading.
[1519] Step 12:
[1520] The user finishes reading.
[1521] The user indicates at the terminal that he has completed his reading for the day.
[1522] Step 13:
[1523] The terminal sends progress information to the server.
[1524] The terminal transmits the position where the user finished reading (for example, the position of the last character read) to the server.
[1525] Step 14:
[1526] The server updates the progress.
[1527] The server updates the user's reading progress based on the received progress information, and saves the starting position of the text to be displayed the next day in preparation for the next day's reading.
[1528] Example 2
[1529] 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."
[1530] Conventional online book management systems have the problem that users cannot individually adjust the amount of reading they consume, and the reading experience does not take into account the user's emotional state, making it difficult to maintain a reading habit. The present invention aims to provide a system that automatically adjusts the amount of reading according to the user's emotional state, improving the user's reading experience and supporting a continuous reading habit.
[1531] The specification process by the specification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for uploading digital books owned by the user, means for analyzing text data of the uploaded digital books and acquiring metadata (number of characters, number of pages, etc.), means for extracting text data for a volume designated by the user based on the volume designated by the user, means for collecting the user's biometric data, facial expression, and tone of voice to recognize the user's emotional state, means for adjusting the volume of reading based on the recognized emotional state, means for displaying re-extracted text data based on the adjusted volume of reading on the user terminal, and means for recording and managing the user's reading progress. This makes it possible to adjust the volume of reading taking the user's emotional state into consideration and optimize the reading experience.
[1532]
[1533] A "digital book" is a book in electronic format, and is book data provided in file formats such as PDF and ePub.
[1534] "Uploading means" refers to the function or process by which a user transfers their digital books to an online server.
[1535] The "means of analysis" is a function or process that extracts text data from uploaded digital books and obtains metadata such as the number of characters and the number of pages.
[1536] An "extracting means" is a function or process that selects a specific amount of text data based on a user-specified amount of reading.
[1537] The "means for recognizing emotional state" is a function or process that collects and analyzes the user's biometric data, facial expressions, and tone of voice to determine the user's emotional state.
[1538] The "adjusting means" is a function or process that modifies the pre-set reading volume to an appropriate amount based on the perceived emotional state.
[1539] The "means for displaying" is a function or process for presenting the extracted text data based on the adjusted reading volume on the screen of the user terminal.
[1540] The "means for recording and managing" is a function or process for saving the user's reading progress in a database and managing the reading start position for the next day.
[1541] "Biometric data" is information that indicates the physiological state of the user, and includes data such as heart rate and skin temperature.
[1542]
[1543] This invention combines a system that manages a user's digital books online, extracts and provides text according to the user's designated reading volume, and an emotion engine that recognizes the user's emotional state. This system is composed of a server, a terminal, and a user.
[1544] Book Upload
[1545] Users upload their digital books (e.g., e-book files such as PDF or ePub) to the server via their devices. The devices send the book files selected by the user to the server using an HTTP request. The server stores the received book data in a specific directory and records the file path in a database, associating it with the user ID.
[1546] Book Analysis
[1547] The server analyzes the uploaded digital book data and extracts text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). Additionally, the server calculates metadata such as the number of characters and pages in the entire book and stores this in a database.
[1548] Setting your reading volume
[1549] The user sets the number of characters or pages they want to read per day on their device. For example, if they specify "I want to read 500 characters per day," the device sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database.
[1550] Recognition of emotional states
[1551] When a user starts reading, the device uses a camera, microphone, and sensors to collect the user's facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature), and sends this data to the server in real time. The server then uses the received data to activate an emotion engine and recognize the user's emotional state. This process uses emotion recognition APIs (e.g., Microsoft Azure Emotion API, Affectiva).
[1552] Adjusting your reading volume
[1553] The server adjusts the set reading volume appropriately based on the analysis results of the emotion engine. For example, if the user is feeling stressed, the server will reduce the reading volume, and if the user is feeling relaxed, the server will increase the reading volume.
[1554] Daily Text Generation
[1555] The server determines the text for that day based on the user's reading progress and emotional state, determines the text extraction position based on the specified reading volume, and prepares to extract and send an appropriate amount of text data to the terminal.
[1556] Displaying Text
[1557] The server sends the generated text data to the user's terminal, which displays the received text data on the screen in a format that is easy for the user to read, and the user continues to read the displayed text.
[1558] Progress Updates
[1559] When a user finishes reading for the day, they press the "Finish Reading" button on their device. The device then sends reading progress information to the server, which records this progress information in a database. The server also manages the starting position for the next day's reading.
[1560] Specific examples
[1561] Example 1: Novel
[1562] A user uploads "Novel A" and sets the goal of reading 500 characters per day. If the emotion engine detects that the user is stressed, the server reduces the reading volume for that day to 400 characters and extracts the text. Each time the user finishes reading this text on their device, the server prepares the text for the next day.
[1563] Example 2: A paper
[1564] A user uploads "Paper B" and sets the goal of reading three pages per day. If the emotion engine detects a relaxed state, the server increases the reading limit for that day to four pages and extracts the text. This allows the user to comfortably read the paper every day.
[1565] Prompt Sentence Examples
[1566] Describe a system that manages a user's book collection online, provides text based on the user's specified reading volume, and dynamically adjusts the reading volume based on the user's emotional state.
[1567] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1568]
[1569] Step 1:
[1570] The user selects a digital book file (e.g. PDF, ePub) using the terminal. The terminal sends the selected book file to the server via an HTTP request. The server receives the file and stores it in a specific directory. The input of this process is the book file, and the output is the path of the book file stored in the server.
[1571] Step 2:
[1572] The server analyzes the uploaded digital book file and extracts the text data using OCR (Optical Character Recognition) and text extraction libraries (e.g., Tesseract, Apache PDFBox). The server calculates metadata such as the number of characters and pages for the entire book and stores it in a database. The input for this process is the book file, and the output is the extracted text data and metadata.
[1573] Step 3:
[1574] The user uses the device to set the number of characters or pages they want to read per day. For example, they might specify "I want to read 500 characters every day." The device then sends this setting information to the server in JSON format. The server associates the received setting information with the user ID and stores it in a database. The input to this process is the user's setting information, and the output is the setting information recorded in the database.
[1575] Step 4:
[1576] When a user starts reading, the device uses a camera, microphone, and sensors to collect facial expressions, tone of voice, and biometric data (such as heart rate and skin temperature). The device then transmits the collected data to a server in real time. The server then uses the received data to run an emotion engine and recognize the user's emotional state. The input to this process is the user's biometric data, and the output is the recognized emotional state.
[1577] Step 5:
[1578] The server adjusts the set reading volume based on the recognized emotional state. For example, if the user is stressed, the server reduces the reading volume, and if the user is relaxed, it increases the reading volume. An algorithm is used to calculate and reset the optimal reading volume. The inputs to this process are the emotional state and the initial reading volume, and the output is the adjusted reading volume.
[1579] Step 6:
[1580] The server checks the user's reading progress and emotional state and determines the text generation position for that day. Based on the specified reading volume, it extracts the required amount of text data. The server then prepares the extracted text data for transmission to the terminal. The input of this process is the user's progress information and the adjusted reading volume, and the output is the text data ready to be sent.
[1581] Step 7:
[1582] The server sends the generated text data to the user's terminal. The terminal displays the received text data on its screen in an easy-to-read format. The user then reads the displayed text. The input of this process is the text data, and the output is the displayed text on the terminal.
[1583] Step 8:
[1584] When a user finishes reading for the day, they press the "Finish reading" button on their device. The device sends the reading progress information to the server. The server records this progress information in a database and manages the reading start position for the next day. The input of this process is the user's reading completion information, and the output is the updated reading progress information.
[1585] (Application example 2)
[1586] 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."
[1587] Conventional user data management systems provide data uniformly without considering the user's emotional state, making it difficult to use data that adapts to the user's fatigue or stress. Furthermore, optimization of the user experience in the food delivery field has lagged, and menu suggestions based on the user's emotions are not made. This has led to the issue of not being able to provide optimal suggestions based on the user's true needs, resulting in a decline in user satisfaction.
[1588] 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.
[1589] In this invention, the server includes a means for uploading data owned by the user, a means for extracting an amount of data based on a usage amount specified by the user, a means for displaying the extracted data on the user terminal, a means for recording and managing the user's usage progress, an emotion recognition means for recognizing the user's emotional state, and a means for adjusting the usage amount based on the recognized emotional state. This makes it possible to provide data adapted to the user's emotional state, allowing the user to have a more comfortable data usage experience. Furthermore, by making optimal suggestions based on the user's emotional state, user satisfaction can be improved.
[1590] "User-Owned Data" means information that is in a digital format owned by a User and available for personal or commercial use.
[1591] An "uploading means" is software or hardware that has the function of sending data owned by a user to a server or cloud service.
[1592] A "specified amount of usage" is a specific amount of data that a user wants to use or consume within a specific time period.
[1593] A "means for extracting data" is a method or device for extracting necessary data from a database or storage based on a specified usage amount.
[1594] "User terminal" refers to any device that can be directly operated by a user, including smartphones, tablets, and PCs.
[1595] A "displaying means" is software or hardware for visually presenting data on a user terminal.
[1596] "Means for recording and managing usage progress" is a function for measuring the extent to which a user has used data, and storing and analyzing that history.
[1597] The "emotion recognition means" is a device or software that analyzes the user's facial expression, tone of voice, biometric data, etc., to evaluate the user's emotional state in real time.
[1598] A "means for adjusting usage" is a function for dynamically changing the amount of data provided to a user based on a recognized emotional state.
[1599] A "means for making suggestions" is a device or software that presents optimal data usage methods and options based on the user's emotional state.
[1600] This invention is a system that manages data owned by a user online and dynamically adjusts the amount of data used depending on the user's emotional state. This system is composed of a server, a terminal, and a user. Specifically, it is implemented in the following way.
[1601] Uploading data
[1602] Users upload their data to the server through their devices. The devices then process the data files selected by the users to send them to the server. The server then stores the received data and records it in association with the user ID.
[1603] Data analysis
[1604] The server then analyzes the uploaded data and extracts text data. The extracted data is provided according to the usage amount specified by the user. The server also calculates the total data volume and meta information and stores it in a database.
[1605] Usage setting
[1606] The user sets the daily usage amount, such as the number of characters or pages, on the device. The device sends this setting information to the server, which records it. This allows the server to know how much data to provide to the user each day.
[1607] Recognition of emotional states
[1608] The emotion recognition means is used to recognize the user's emotional state. Specifically, when a user starts using the system, the device collects the user's emotional data (e.g., facial expressions, tone of voice, and biometric data) through a camera and microphone and transmits them to the server. The server analyzes this data and evaluates the user's emotional state in real time.
[1609] Usage adjustment
[1610] The server adjusts the set amount of data usage based on the user's perceived emotional state. For example, if the user is stressed, the amount of data is reduced, and if the user is relaxed, the amount is increased. This adjustment information is reflected in the next data extraction to be displayed.
[1611] Daily data generation
[1612] The server checks the user's usage progress and emotional state, determines the next data location to display, extracts the amount of data for that day based on the specified usage amount, and prepares the extracted data for transmission to the user's terminal.
[1613] Viewing Data
[1614] The server sends the generated data for one day to the user's device. The device displays the received data on the screen and allows the user to start using the service. This allows the user to comfortably manage their daily usage volume.
[1615] Progress Updates
[1616] When a user finishes using data for the day, they indicate that the day's usage is complete on their device. The device then sends this progress information to the server, which records the user's usage progress. The server then saves the start position of the data to be displayed the next day, preparing for the next day's usage.
[1617] Specific examples
[1618] Example 1: Food delivery
[1619] When a user accesses a food delivery app, their emotional state is captured via the camera and microphone. If the emotion engine recognizes the user's emotional state as "stressed," it automatically suggests food items with a relaxing effect (for example, matcha or chocolate-based sweets).
[1620] Example prompt sentence:
[1621] I need a food delivery application where the user understands his / her emotional state using an emotion engine. I want to suggest relaxing menu items based on the user's emotional state. For example, if a stressful state is detected, I want to show menu items with a relaxing effect. Please provide an example of a model that detects emotional states and a concrete example of food suggestions.
[1622] This invention enables users to use data optimally according to their emotional state, improving the quality of their data use experience.
[1623] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1624] Step 1:
[1625] Uploading data owned by users
[1626] Users upload their data to the server through their devices. The input is a data file (e.g., a PDF or image file) selected by the user. The device then sends this data file to the server. The server saves the received data and records it in association with the user ID. This allows the data to be stored securely online.
[1627] Step 2:
[1628] Data analysis
[1629] The server parses the uploaded data and extracts the text data. The input is the uploaded data file. The server uses optical character recognition (OCR) software to extract the text and stores the extracted text data in a database. This allows the server to extract the data accurately according to the usage amount specified by the user later.
[1630] Step 3:
[1631] Usage setting
[1632] The user sets the daily usage amount on the device. For example, the user may specify "I want to use 500 characters per day." This setting information is sent from the device to the server, which records it. This allows the server to know how much data to provide to the user each day.
[1633] Step 4:
[1634] Recognition of emotional states
[1635] The emotion recognition means detects the user's emotional state. Inputs include the user's facial expressions, tone of voice, and biometric data (e.g., heart rate and skin temperature). The device collects this data using a camera and sensors and sends it to the server. The server uses an emotion recognition engine (e.g., a deep learning model) to analyze and recognize the emotional state. For example, it can determine whether the user is stressed or relaxed.
[1636] Step 5:
[1637] Usage adjustment
[1638] The server adjusts the set usage amount based on the recognized emotional state of the user. The input is the emotional state analyzed by the server and the original usage amount setting. The output is the adjusted usage amount. For example, if the user is stressed, the usage amount is reduced to 400 characters, and if they are relaxed, it is increased to 600 characters. This information is reflected in the next data to be extracted.
[1639] Step 6:
[1640] Daily data generation
[1641] The server checks the user's usage progress and emotional state, and determines the location of the next data to display. The input is the user's usage progress and adjusted usage volume. The server extracts the required amount of data from the database and prepares it for transmission to the user's device. For example, it extracts and transmits the text data for that day.
[1642] Step 7:
[1643] Viewing Data
[1644] The server sends the generated data for one day to the user's device. The device displays the received data on the screen. This allows the user to comfortably manage their daily usage. For example, the data displayed can be 500 characters specified by the user or 400 characters after adjustment.
[1645] Step 8:
[1646] Usage progress update
[1647] When a user finishes using data for the day, the device will display information indicating that use is complete for that day. Input is provided by the user's actions, such as pressing the "End" button. The device then sends this progress information to the server, which records the user's usage progress in a database. The server then saves the start position of the data to be displayed the next day, preparing for use on that day. This allows for smooth, continuous data use.
[1648] These steps enable data usage that is adapted to the user's emotional state, providing the user with a comfortable data usage experience.
[1649] 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.
[1650] 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.
[1651] 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.
[1652] 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.
[1653] 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.
[1654] 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.
[1655] 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).
[1656] 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.
[1657] 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."
[1658] 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.
[1659] 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).
[1660] 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.
[1661] 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.
[1662] 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.
[1663] 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.
[1664] 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.
[1665] 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.
[1666] 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.
[1667] 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.
[1668] 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.
[1669] 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.
[1670] The following is further disclosed regarding the above embodiment.
[1671] (Claim 1)
[1672] A means for uploading book data owned by a user;
[1673] means for extracting text data of an amount designated by a user based on the amount of reading;
[1674] means for displaying the extracted text data on a user terminal;
[1675] a means for recording and managing a user's reading progress;
[1676] A system including:
[1677] (Claim 2)
[1678] 2. The system according to claim 1, wherein when the amount of reading specified by the user is the number of characters, the system extracts text of that number of characters.
[1679] (Claim 3)
[1680] 2. The system of claim 1, wherein if the user specifies a reading amount as a number of pages, the system extracts text based on the number of pages.
[1681] "Example 1"
[1682] (Claim 1)
[1683] A means for uploading book data owned by a user;
[1684] A means for the server to analyze the book data, extract text data and meta information, and store them in a database;
[1685] A means for users to set the amount of reading they want to do in a day and send it to the server;
[1686] a means for the server to check the user's reading progress and extract text based on the specified reading volume;
[1687] means for displaying the extracted text data on a user terminal;
[1688] a means for recording and managing a user's reading progress;
[1689] A system including:
[1690] (Claim 2)
[1691] 2. The system according to claim 1, wherein when the amount of reading specified by the user is the number of characters, the system extracts text of that number of characters.
[1692] (Claim 3)
[1693] 2. The system of claim 1, wherein if the user specifies a reading amount as a number of pages, the system extracts text based on the number of pages.
[1694] "Application Example 1"
[1695] (Claim 1)
[1696] A means for uploading book data owned by a user;
[1697] means for extracting text data of an amount designated by a user based on the amount of reading;
[1698] means for displaying the extracted text data on a user terminal;
[1699] a means for recording and managing a user's reading progress;
[1700] A means for analyzing book data using a natural language processing model on a server and generating meta information;
[1701] means for providing a setting screen for a user to set a reading volume;
[1702] means for extracting text based on user settings each day and preparing the next day's volume;
[1703] A system including:
[1704] (Claim 2)
[1705] 2. The system according to claim 1, wherein when the amount of reading specified by the user is the number of characters, the system extracts text of that number of characters.
[1706] (Claim 3)
[1707] 2. The system of claim 1, wherein if the user specifies a reading amount as a number of pages, the system extracts text based on the number of pages.
[1708] "Example 2: Combining Emotion Engines"
[1709] (Claim 1)
[1710] a means for uploading digital books owned by the user;
[1711] A method for analyzing the text data of uploaded digital books and obtaining metadata (number of characters, number of pages, etc.)
[1712] means for extracting text data of an amount designated by a user based on the amount of reading;
[1713] means for collecting biometric data, facial expressions, and tone of voice of a user to recognize the user's emotional state;
[1714] a means for adjusting reading volume based on a perceived emotional state;
[1715] means for displaying the re-extracted text data based on the adjusted reading volume on the user terminal;
[1716] a means for recording and managing a user's reading progress;
[1717] A system including:
[1718] (Claim 2)
[1719] 2. The system according to claim 1, wherein when the amount of reading specified by the user is the number of characters, the system extracts text of that number of characters.
[1720] (Claim 3)
[1721] 2. The system of claim 1, wherein if the user specifies a reading amount as a number of pages, the system extracts text based on the number of pages.
[1722] "Application example 2 when combining emotion engines"
[1723] (Claim 1)
[1724] A means for uploading data owned by the user;
[1725] means for extracting data in an amount based on a usage amount designated by a user;
[1726] means for displaying the extracted data on a user terminal;
[1727] A means for recording and managing the user's usage progress;
[1728] emotion recognition means for recognizing an emotional state of a user;
[1729] means for adjusting usage based on the perceived emotional state;
[1730] A system including:
[1731] (Claim 2)
[1732] 2. The system according to claim 1, wherein when the amount of use designated by the user is the number of characters, data for the number of characters is extracted.
[1733] (Claim 3)
[1734] 2. The system according to claim 1, wherein when the amount of use specified by the user is the number of pages, data based on the number of pages is extracted.
[1735] (Claim 4)
[1736] 10. The system of claim 1, further comprising means for providing optimal suggestions based on the emotional state of the user. [Explanation of symbols]
[1737] 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 uploading book data owned by a user; means for extracting text data of an amount designated by a user based on the amount of reading; means for displaying the extracted text data on a user terminal; a means for recording and managing a user's reading progress; A system including:
2. 2. The system according to claim 1, wherein when the amount of reading specified by the user is the number of characters, the system extracts text of the number of characters.
3. 2. The system of claim 1, wherein if the user specifies a number of pages as the amount of reading, the system extracts text based on the number of pages.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A