system
The system efficiently extracts and summarizes digital content, providing visualizations and direct access to related materials, addressing the challenge of information overload and enhancing user experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Existing systems struggle to efficiently extract important information from large volumes of digital content like books and presentations, and there is a need for a unified system that supports information collection and purchase of detailed information.
A system that allows users to upload digital files to a server, where the server extracts text, generates summaries, and automatically creates visualizations, while providing links to access or purchase related materials.
Enables efficient extraction and centralized access to detailed information, improving user experience and time performance by quickly summarizing and linking to relevant content.
Smart Images

Figure 2026063902000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In recent years, information has been flooding, and there is a demand for users to efficiently obtain the information they need. In particular, it is a problem to extract important information from a large amount of digital content such as books and presentation materials in a short time. However, it is difficult to generate an efficient and highly accurate summary with ordinary summarization services or information extraction methods. Also, it is important to provide not only a summary but also a lead to access and purchase related detailed information. In modern times that emphasize such type (time performance), a system that supports information collection and purchase of detailed information in a unified manner is demanded.
Means for Solving the Problems
[0005] This invention provides a system that allows users to upload digital files of books and presentation materials to a server, quickly extract important information from those files, and generate a summary. First, it includes means for uploading digital files to the server. Next, it utilizes means for analyzing the uploaded files and extracting text. After text extraction, it uses means for analyzing important parts from the extracted text and generating a summary. Furthermore, it provides means for automatically generating new figures and tables as needed. The generated summary and figures and tables are provided to the user in a subscribeable format. Finally, it includes means including links to provide access to purchase detailed information and related materials. This allows users to efficiently collect information and quickly access the necessary detailed information.
[0006] "Digital files" refer to documents and presentations saved in digital format, and specific examples include PDF, Word, and PPT files.
[0007] A "server" refers to a computer system that receives data over a network, processes it, and transmits information to other devices.
[0008] "Text extraction" refers to the process of extracting textual information from digital files, using specific libraries and technologies.
[0009] A "summary" refers to a document or data that extracts essential information from the original text and presents it in a concise format.
[0010] "Natural language processing technology" refers to computer technology that receives human language as input, understands it, and performs appropriate processing.
[0011] "Charts and diagrams" refer to visual representations such as graphs and charts used to visually represent textual information.
[0012] A "subscription-based format" refers to a contractual arrangement in which a user uses a service for a certain period or under specific conditions.
[0013] "Purchasing detailed information" refers to the act of obtaining more specific and complete data or information based on summary information, by paying a monetary price.
[0014] "User flow" refers to a navigation method that guides users through a series of steps, from acquiring information to accessing detailed information, when using a service. [Brief explanation of the drawing]
[0015] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0016] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0019] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0020] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0021] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0023] [First Embodiment]
[0024] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0025] As shown in Figure 1, the 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 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0028] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0031] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores the data generation model 58 and the 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 processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0035] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0036] This invention is a system that allows users to upload digital files of books or presentation materials to a server, and then quickly extract important information from those files and generate a summary. The system mainly includes the following components: a user's terminal, a server, a text extraction means utilizing natural language processing technology, and a summary generation means.
[0037] First, the user uploads a digital file (e.g., PDF, Word, PPT) to the server using their device. The device sends the file to the server via an HTTP request. The server analyzes the received file and determines its type. For PDF files, it uses the pdfplumber library to extract text; for Word files, it uses the python-docx library, selecting the appropriate library for text extraction. The extracted text is temporarily stored in storage.
[0038] Next, the server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Subsequently, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. New figures and tables are also automatically generated as needed. For example, libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information.
[0039] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The server combines the generated summary and figures into a single dataset and sends it to the user's terminal as an HTTP response. The terminal receives this response and displays the summary information to the user.
[0040] Furthermore, for users who are interested in more detailed information, the server includes pathways to purchase that information or access related materials. Specifically, purchase links and links to access related materials are inserted within the summary. When a user clicks these links, the device sends a request to the server to redirect to the corresponding page. The server returns that URL as a response, and the device redirects the user to that page.
[0041] As a concrete example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user views the summary and finds it interesting, they are provided with a link to purchase the book or related supplementary materials containing a more detailed explanation. Clicking the link redirects the user to a purchase page with detailed information, allowing them to easily access the full details.
[0042] This allows users to efficiently grasp vast amounts of information and maximize their time performance. Purchasing detailed information and accessing related materials is also easy, enabling centralized information gathering and purchasing. This system achieves both increased efficiency in information gathering and an improved user experience.
[0043] The following describes the processing flow.
[0044] Step 1:
[0045] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0046] Step 2:
[0047] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0048] Step 3:
[0049] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0050] Step 4:
[0051] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0052] Step 5:
[0053] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0054] Step 6:
[0055] The server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from pre-processed text and generate a summary. Contextual understanding and key concept extraction are performed during this process.
[0056] Step 7:
[0057] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0058] Step 8:
[0059] The server combines the generated summaries and figures into a single dataset. This dataset also includes optional information that users can subscribe to.
[0060] Step 9:
[0061] The server sends the compiled dataset to the user's terminal as an HTTP response. The user's terminal receives this response and prepares an interface for displaying summary information and figures.
[0062] Step 10:
[0063] The device displays summary information and charts to the user. This display also includes purchase links for more detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0064] Step 11:
[0065] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0066] Step 12:
[0067] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0068] Through these steps, users can efficiently extract the necessary information and quickly access more detailed information. This system not only maximizes time performance but also centralizes the information gathering and purchasing processes.
[0069] (Example 1)
[0070] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0071] In modern society, the amount of digital information has exploded, and there is a need to quickly and efficiently acquire the necessary information from it. Conventional information extraction and summarization systems often involve a lot of manual operation, making efficient information gathering difficult. Furthermore, the provision of related information is insufficient, and obtaining detailed information requires separate searches or purchase procedures. This presents a challenge in that information gathering requires a great deal of time and effort.
[0072] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0073] In this invention, the server includes means for uploading digital data via a network, means for analyzing the uploaded data and extracting textual information, means for analyzing important parts from the extracted textual information and generating a summary, means for automatically generating new graphic data as needed, means for providing the generated summary and graphic data in an usable format, and means for providing detailed information and access to related additional information. This enables users to quickly and efficiently obtain the necessary information and easily access related information.
[0074] "Digital data" refers to all information stored electronically, including text, images, audio, and video.
[0075] A "network" is a system that allows computers and other devices to communicate with each other, and includes the internet and local area networks (LANs).
[0076] "Uploading" refers to the action of sending digital data from a user's device to a server.
[0077] "Analysis" refers to the process of analyzing digital data and understanding its content.
[0078] "Textual information" refers to the text data contained within digital data.
[0079] "Extraction" refers to the operation of taking out a specific part of data.
[0080] A "summary" refers to information that has been shortened and compiled from extracted textual information to highlight the most important points.
[0081] "Visual data" refers to data that visually represents numerical data or statistical information in the form of charts, graphs, and other visual formats.
[0082] "Available formats" refers to data formats that are provided in a form that is easily accessible and usable by users.
[0083] "Means of delivery" refers to the methods and systems used to deliver processed data to users.
[0084] "Detailed information" refers to information that goes beyond the summarized content, and includes the original digital data and related materials.
[0085] "Additional information" refers to related information or supplementary data that users can use to delve deeper into the information.
[0086] "Access" refers to a user reaching and using digital data and related materials.
[0087] "Method" refers to the specific techniques and processes used to extract textual information.
[0088] "Automatic generation" refers to a system autonomously generating data without requiring manual human intervention.
[0089] "Natural language processing technology" refers to the technology that enables computers to understand and generate natural human language.
[0090] This invention is a system in which a user uploads digital data files (e.g., PDF, Word, PPT, etc.) to a server, and important information is quickly extracted from those files to generate a summary. The implementation of this system utilizes the following hardware and software.
[0091] First, the user uploads a digital data file to the server using their device. The device sends the file to the server via an HTTP request. Appropriate security protocols are applied during this process to ensure data security.
[0092] The server analyzes the received file and determines its type. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files. In this way, the server selects the appropriate library and extracts the text. The extracted text is temporarily stored in storage.
[0093] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Examples of NLP techniques used include the nltk and spaCy libraries. Specifically, it performs processes such as text segmentation, stop word removal, and stemming. Once preprocessing is complete, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. During this process, a generative AI model based on user-provided prompts is also applied.
[0094] Furthermore, the server automatically generates new charts and graphs to visualize important numerical data and statistical information using libraries such as Matplotlib and Plotly. The generated summaries and charts are then compiled into a single dataset and provided to the user.
[0095] As a concrete example, consider a scenario where a user uploads a PDF file of a business book. The server extracts text from this PDF file and generates a summary of key business strategies and statistical data. Simultaneously, charts for visualization are automatically generated. The generated summary and charts are sent to the user's terminal as an HTTP response, allowing the user to view the summary information.
[0096] Furthermore, to make it easy to obtain more detailed information, the server inserts links to relevant materials within the summary. If a user is interested, clicking the link will redirect them to a page containing a detailed explanation.
[0097] Example of a prompt:
[0098] "Please generate a summary of the business strategy. Analyze this PDF file, extract key business strategies and statistical data, and create a summary."
[0099] In this way, the system can efficiently achieve rapid extraction and summarization of important information from digital data, thereby improving the user experience.
[0100] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0101] Step 1:
[0102] As part of the user's file selection process, the user uses a terminal to select a digital data file (e.g., PDF, Word, PPT, etc.) and prepares it for upload. During this process, the terminal reads the file's contents and generates input data to send to the server in the form of an HTTP request. This request includes the selected file.
[0103] Step 2:
[0104] As part of the process of a terminal sending an HTTP request to a server, the terminal sends the generated HTTP request to the server. The input is a digital data file selected by the user, and the output is a file sent to the server via the HTTP request. This allows the server to receive the file.
[0105] Step 3:
[0106] The server's operation of receiving and parsing files involves extracting file data from the received HTTP request. The input is the file data received by the server, and the output is the type and content of the parsed file. Specifically, the server checks the file's MIME type and determines the file type (PDF, Word, PPT, etc.).
[0107] Step 4:
[0108] When the server extracts text, it uses the appropriate library depending on the type of file it identifies. For example, it uses the pdfplumber library to extract text from PDF files and the python-docx library for Word files. The input is the parsed file, and the output is the extracted text data.
[0109] Step 5:
[0110] As part of the server's text preprocessing operation, the server preprocesses the extracted text using natural language processing techniques. The input is the extracted text data, and the output is the preprocessed text data. Specifically, it uses libraries such as nltk and spaCy to perform tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0111] Step 6:
[0112] In the server's process of generating summaries, the server runs a generative AI model using pre-processed text data. The input is the pre-processed text data and prompt sentences, and the output is the generated summary. Specifically, a Transformer-based summarization model (e.g., BERT or GPT) is used to extract important sections and generate the summary.
[0113] Step 7:
[0114] As part of the server's process of generating charts and graphs, it uses visualization libraries such as Matplotlib and Plotly to visualize important numerical data and statistical information. The input is numerical data in text, and the output is visualized charts and graphs. This makes the information easier to understand visually.
[0115] Step 8:
[0116] As part of the server's process of delivering summaries and figures to the user, the server formats the generated summaries and figures into a single dataset. The input is the generated summaries and figures, and the output is the dataset compiled as an HTTP response. The server then sends this dataset to the terminal.
[0117] Step 9:
[0118] The terminal's operation involves displaying a generated summary and chart. The terminal analyzes the received HTTP response and displays the generated summary and chart to the user. The input is the received response data, and the output is the displayed summary and chart.
[0119] Step 10:
[0120] For a user to access detailed information or related materials, they click a link within the summary on their device. The input is the link the user clicked, and the output is the request sent to the server. The server receives the request and returns the URL of the corresponding detailed information or related materials as a response. The device redirects the user to that URL, allowing them to access the detailed information or related materials.
[0121] Through the above process, a system is built that can quickly extract important information from digital data and generate and provide summaries and charts.
[0122] (Application Example 1)
[0123] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0124] In modern virtual stores and online shopping, users are required to quickly and efficiently understand product descriptions and reviews. Especially for products with a large amount of information, reading all the details is burdensome for users. Furthermore, if access to related products and additional information is not smooth, the customer experience may be compromised. Moreover, the lack of a system that can quickly extract and display the important parts from vast amounts of information makes efficient information gathering difficult.
[0125] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0126] In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, and means for displaying the generated summary and related link information on the user's display device. This allows the user to quickly grasp important content from a vast amount of information and to easily access related products and additional information.
[0127] A "digital file" is a collection of information stored in electronic format, including formats such as PDF, Word, and PPT.
[0128] A "server" is a computer system that receives requests from clients via a network and stores, processes, and provides files.
[0129] "Text extraction" is the process of obtaining textual information from a digital file and converting it into an identifiable format.
[0130] "Important sections" refer to the main points and relevant information contained within the text, which are particularly useful for the user.
[0131] A "summary" is a concise text that extracts and condenses only the main information and key points from the original text.
[0132] "New charts and graphs" refer to graphs and charts that are automatically generated to visually represent numerical data or important information within text.
[0133] A "subscribeable format" refers to a format in which information is provided in a way that allows users to receive it regularly.
[0134] A "display device" is a hardware device that allows users to visually confirm information, and includes smartphones and smart glasses.
[0135] "Link information" refers to web URLs or hyperlinks that provide access to additional information or related products.
[0136] "Natural language processing technology" refers to techniques that enable computers to understand human language, and includes methodologies for text analysis and language generation.
[0137] A "prompt statement" is an instruction given to an AI model to generate a specific output.
[0138] In order to implement this invention, it is necessary to build a system in which users upload digital files (e.g., PDF, Word, PPT) to a server, and the system quickly extracts important information from those files and generates a summary.
[0139] First, the user uploads a digital file to the server using a device (e.g., a smartphone or computer). This process involves sending the file to the server via an HTTP request. The server analyzes the received file and determines its type. For example, for a PDF file, the pdfplumber library is used to extract the text, and for a Word file, the python-docx library is used. This retrieves the text information from the file and temporarily stores it in storage.
[0140] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Then, it runs an NLP model (e.g., a Transformer-based summarization model) to extract important sections and generate a summary. If necessary, it automatically generates new charts and graphs to visualize important numerical data and statistical information. In this process, libraries such as Matplotlib and Plotly are used.
[0141] The generated summaries and figures are provided to the user in a subscribeable format. The server combines these summaries and figures into a single dataset and sends it to the user's device as an HTTP response. The device receives this response and displays it on the user's display device (e.g., smartphone or smart glasses). In addition, the server inserts links to purchase detailed information and access related materials along with the generated summaries. When the user clicks these links, they are redirected to the corresponding page, making it easy to purchase detailed information and related products.
[0142] As a concrete example, consider a scenario where a user uploads a PDF file containing a detailed manual for their new smartphone to the system. In this case, the server extracts text from the PDF file and generates a summary of key features and usage instructions. The server also generates purchase links for related smartphone accessories and warranty services and displays them on the user's display device. This allows the user to quickly grasp important information and smoothly purchase related products.
[0143] As an example of a prompt, the following sentences are entered into the generative AI model:
[0144] "Please summarize the important features and usage instructions for this smartphone manual."
[0145] This enables a system where users can efficiently acquire information and access related products and additional information in a centralized manner.
[0146] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0147] Step 1:
[0148] The user uploads digital files to the server using their device. The user uses a dedicated application to select the digital file (e.g., PDF, Word, PPT) and presses the upload button. The input is the digital file selected by the user, and the output is the file sent to the server via an HTTP request.
[0149] Step 2:
[0150] The server analyzes the received file and determines its type. The server checks the file extension (e.g., .pdf, .docx, .pptx) and selects the appropriate library (e.g., pdfplumber or python-docx) to extract the text. The input is the file uploaded to the server, and the output is the extracted text data.
[0151] Step 3:
[0152] The server temporarily saves the extracted text to storage. Specifically, it saves the extracted text to a temporary folder on the server. The input is text data, and the output is a text file saved in the temporary folder.
[0153] Step 4:
[0154] The server preprocesses stored text data using natural language processing (NLP) techniques. This includes processes such as sentence splitting, stop word removal, and stemming. Specifically, it uses an NLP library (e.g., spaCy). The input is a text file stored in storage, and the output is the preprocessed text data.
[0155] Step 5:
[0156] The server inputs pre-processed text data into a generating AI model (e.g., a Transformer-based summarization model) to generate a summary. Specifically, it provides prompt sentences to the generating AI model to generate the summary. The input consists of pre-processed text data and prompt sentences, and the output is the generated summary.
[0157] Step 6:
[0158] The server automatically generates new charts and graphs to visualize important numerical data and statistical information. Specifically, it uses libraries such as Matplotlib and Plotly to create graphs and charts. The input is summarized text data, and the output is newly generated charts and graphs.
[0159] Step 7:
[0160] The server combines the generated summaries and figures into a subscribeable format and sends it to the user's terminal as an HTTP response. Specifically, it combines the summaries and figures into a single dataset and returns it in JSON format. The input is the summary text and figures, and the output is a dataset in JSON format.
[0161] Step 8:
[0162] The terminal receives summaries and charts, which are then displayed on the user's display device (e.g., a smartphone or smart glasses). Specifically, a dedicated application on the terminal analyzes the response and converts it into a display format. The input is a JSON-formatted dataset, and the output is the summary and charts displayed on the display device.
[0163] Step 9:
[0164] The server inserts purchase links for detailed information and links to related materials along with the generated summary. Specifically, it calls the API for related products, generates URLs, and adds them to the summary. The input is the data that will form the basis of the summary and related links, and the output is the summary with the links added.
[0165] Step 10:
[0166] When a user clicks a link, they are redirected to a detailed purchase page or a page containing related materials. Specifically, when a link is clicked, an HTTP request is generated, and the browser navigates to the corresponding URL. The input is the link click event, and the output is the transition to the purchase page or related materials page.
[0167] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0168] This invention combines a system that allows users to upload digital files of books and presentation materials to a server, and then quickly extracts important information from those files and generates summaries, with an emotion engine. The system mainly includes the following components: a user terminal, a server, a text extraction means utilizing natural language processing technology, a summary generation means, and an emotion engine that recognizes the user's emotions.
[0169] First, the user uploads digital files (such as PDFs, Word documents, or PowerPoint presentations) to the server using their device. The user selects files either using a file selection dialog in their browser or by dragging and dropping them.
[0170] Next, the device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0171] The server receives a file, saves it, and determines its file format. For PDF files, it selects a PDF parsing library; for Word files, it selects a Word parsing library (e.g., pdfplumber, python-docx). Using the appropriate library, the server extracts text from the file. For example, in the case of a PDF file, it extracts text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0172] The server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0173] Next, the server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from the pre-processed text and generate a summary. This process involves understanding the context and extracting key concepts.
[0174] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0175] For example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommend more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," measures such as highlighting the summary and providing a concise summary are taken.
[0176] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The user's terminal receives this response and prepares an interface for displaying the summary information and figures. This display also includes purchase links for detailed information and links to related materials, allowing the user to quickly find the parts that interest them.
[0177] When a user clicks a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the information page, and the device redirects the user to the appropriate page based on this URL. On the information page, the user can purchase or download additional information.
[0178] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, improving user satisfaction. This system enables more advanced and efficient information delivery.
[0179] The following describes the processing flow.
[0180] Step 1:
[0181] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0182] Step 2:
[0183] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0184] Step 3:
[0185] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0186] Step 4:
[0187] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0188] Step 5:
[0189] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0190] Step 6:
[0191] The server runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from pre-processed text and generate a summary.
[0192] Step 7:
[0193] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0194] Step 8:
[0195] The server uses an emotion engine to recognize the user's emotions in real time. For example, while reading a file uploaded by the user, it analyzes facial expressions and voice tone through the camera and microphone.
[0196] Step 9:
[0197] The server analyzes the recognized sentiment data using an emotion engine and adjusts how summary information is presented. For example, if the user shows interest, it presents a detailed summary or additional information; if the user is bored, it provides a more concise summary.
[0198] Step 10:
[0199] The server compiles the generated summaries and figures into a single dataset and provides it to the user in a subscribeable format. This dataset also includes recommendation information based on the user's sentiment.
[0200] Step 11:
[0201] The server sends the compiled dataset to the user's terminal as an HTTP response. The terminal receives this response and prepares an interface for displaying summary information and figures.
[0202] Step 12:
[0203] The device displays summary information and charts to the user. Through this display, the user can find purchase links for more detailed information and links to access related materials.
[0204] Step 13:
[0205] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0206] Step 14:
[0207] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0208] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, leading to increased user satisfaction.
[0209] (Example 2)
[0210] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0211] Conventional text summarization systems have the problem of providing information without considering the user's emotions. As a result, users may not find the summarized information appealing, or conversely, they may miss important information. Furthermore, because the method of presenting summarized information is uniform, it fails to address the individual needs of users. Therefore, the present invention aims to improve the efficiency of information provision and the user experience by providing a system that recognizes the user's emotions in real time and provides personalized information based on emotion data.
[0212] The specific processing performed by the specific 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 files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and recommending information based on emotion data, means for automatically generating new charts and graphs as needed, means for providing the generated summaries and charts in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. This makes it possible to efficiently grasp vast amounts of information and receive personalized information based on emotions.
[0213] A "digital file" is an electronic file that can be created, stored, and read by a computer.
[0214] A "server" is a computer that provides services to other computers (clients) on a network.
[0215] "Uploading" refers to the operation of transferring data from a local device to a server.
[0216] "Analysis" is the process of extracting data and understanding its structure and content.
[0217] "Text" refers to data expressed through characters and sentences.
[0218] "Extraction" refers to the process of selecting and removing specific data or information.
[0219] A "summary" is a shortened and concise version of the main points and content of the original text.
[0220] "Emotions" refer to psychological states or feelings such as joy, sadness, and surprise.
[0221] "Real-time" means that processing is done instantly without delay.
[0222] "Emotional data" refers to data that expresses a user's emotional state using numerical values or categories.
[0223] "Recommendation" refers to presenting users with recommended information or options.
[0224] A "chart" or "graph" is a diagram or graph used to visually represent data or information.
[0225] A "subscribeable format" means that the information is provided in a format that users can access later.
[0226] "Detailed information" refers to additional information or specific examples that are not included in the summary.
[0227] A "user flow" refers to elements such as links and buttons that guide the user to the next action.
[0228] "Natural language processing technology" refers to the technology that enables computers to understand, interpret, and generate human language.
[0229] A "library" is a collection of pre-written programs or code designed to perform a specific function.
[0230] A "generative AI model" is a type of artificial intelligence that generates new information or text from data.
[0231] This invention combines an emotion engine with a system that allows users to upload digital files of books and presentation materials, and then quickly extracts important information from those files to generate a summary. The following describes how this invention can be specifically implemented.
[0232] The user's device has a browser installed, which can be used to upload digital files (such as PDFs, Word documents, and PowerPoint presentations) to the server. Users can select files using a file selection dialog or by dragging and dropping them.
[0233] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file. The server temporarily stores the received file and determines its format. If it's a PDF file, the server uses a PDF parsing library (e.g., pdfplumber); if it's a Word file, it uses a Word parsing library (e.g., python-docx) to extract text from the file. The extracted text is temporarily stored in storage.
[0234] The server then preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence segmentation, stop word removal, and stemming to generate easily analyzable text data. The server then runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from the preprocessed text and generate a summary.
[0235] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0236] For example, if a user uploads a PDF file of a business book to the system, the server extracts text from the PDF file and generates a summary of important business strategies and statistical data. Simultaneously, it can visualize important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommended more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," adjustments are made, such as highlighting the summary section and providing a concise summary.
[0237] The generated summaries and figures are provided to the user in a subscribeable format. The user's device receives this response and prepares an interface to display the summary information and figures. The displayed interface also includes purchase links for detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0238] Furthermore, when a user clicks a purchase link for detailed information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0239] This invention allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. This not only maximizes time performance but also unifies the information gathering and purchasing processes, improving user satisfaction.
[0240] Examples of specific prompt messages are as follows:
[0241] Prompt: Explain a system that extracts key business strategies and statistical data from user-uploaded business book PDF files, generates summaries, and recommends further details based on the user's sentiment data.
[0242] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0243] Step 1: Select a file from the user's device and upload it to the server.
[0244] The user selects a file using the browser's file selection dialog or by dragging and dropping.
[0245] Select the file and click the upload button.
[0246] Input: A digital file selected by the user (e.g., business_strategy.pdf)
[0247] Output: An HTTP request is generated by the terminal, and the file is sent to the server.
[0248] Step 2: The device sends the selected digital files to the server.
[0249] The device sends an HTTP request to the server containing the selected digital file and metadata (file name and file format).
[0250] Input: Selected digital file and its metadata
[0251] Output: The server receives the HTTP request and temporarily stores the file and metadata.
[0252] Step 3: The server determines the file format and extracts the text using the appropriate library.
[0253] The server checks the file's metadata to determine the file format.
[0254] For PDF files, select a PDF parsing library (e.g., pdfplumber); for Word files, select a Word parsing library (e.g., python-docx).
[0255] Extract text from a file using the appropriate library. For PDF files, extract the text from each page in a sequential format.
[0256] Input: Digital files and their metadata stored on the server
[0257] Output: Extracted text data (e.g., "Chapter 1: Market Analysis...")
[0258] Step 4: Preprocess the text extracted by the server.
[0259] The server preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs sentence splitting, stop word removal, and stemming.
[0260] This improves the efficiency of data analysis.
[0261] Input: Extracted text data
[0262] Output: Pre-processed text data (e.g., "Chapter market analysis...")
[0263] Step 5: The server generates the summary.
[0264] The server runs a Transformer-based summarization model, extracting key parts from pre-processed text to generate a summary.
[0265] Input: Pre-processed text data
[0266] Output: Generated summary data (Example: "This book details market analysis and competitive strategies.")
[0267] Step 6: The server uses an emotion engine to recognize the user's emotions in real time.
[0268] The server uses an emotion engine to estimate emotions from the user's facial expressions, voice tone, and input text (comments and feedback), and generates emotion data.
[0269] Input: Real-time user data (facial expressions, voice tone, comments, etc.)
[0270] Output: Recognized sentiment data (e.g., "Interesting")
[0271] Step 7: The server recommends information based on the user's sentiment data.
[0272] The server adjusts how summaries are presented based on sentiment data, providing links to more detailed information and additional resources. For example, if a user perceives something as "interesting," it will provide additional detailed information.
[0273] Input: Generated summary data and sentiment data
[0274] Output: Personalized summary information and recommendation data (e.g., "You can find detailed market analysis data at the link below.")
[0275] Step 8: The server provides the generated summaries and charts in a subscribeable format.
[0276] The server provides users with summaries and charts in a subscribeable format, allowing them to access the information later.
[0277] Input: Generated summary data and figure / table data
[0278] Output: Data in a subscribable format (e.g., HTML, PDF)
[0279] Step 9: The terminal displays the summary information and charts
[0280] Prepare an interface for the user's terminal to display the response received from the server. The interface also includes a purchase link for detailed information and an access link to related materials.
[0281] Input: Response data from the server
[0282] Output: Display interface for the user
[0283] Step 10: The user clicks on the link to detailed information, and the terminal sends a corresponding request to the server
[0284] When the user clicks on the purchase link for detailed information or the access link to related materials, the terminal triggers a click event and sends a corresponding request to the server.
[0285] Input: User's click event
[0286] Output: Request data from the terminal
[0287] Step 11: The server returns a corresponding URL for the request, and the terminal redirects the user
[0288] The server returns a response containing the URL of the detailed information page, and the terminal redirects the user to the appropriate page based on this URL. This enables the user to purchase or download additional information.
[0289] Input: Request data from the terminal
[0290] Output: Response data containing the corresponding URL
[0291] (Application Example 2)
[0292] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0293] In recent years, with the advent of digitalization, there has been a growing need to process large amounts of information quickly and utilize it efficiently. However, the process of users extracting and summarizing necessary information from vast amounts of digital files is extremely cumbersome, and the resulting summaries are uniform and do not take into account the individual feelings and interests of users, resulting in insufficient information provision. On the other hand, even in physical stores such as bookstores, it is difficult for users to immediately obtain summaries or detailed information about books they are interested in. This leads to the problem of users having to spend a lot of time and effort gathering information.
[0294] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and changing the presentation method of the summary and recommendations of detailed information based on the results, means for automatically generating new figures and tables as needed, means for providing the generated summaries and figures and tables in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. As a result, users can obtain summaries of books in a short time and receive personalized information based on their emotions.
[0295] A "digital file" refers to documents and materials that are stored in electronic format.
[0296] A "server" is a computer that stores and manages data on a network and provides data in response to requests from clients.
[0297] "Extracting text" refers to the process of extracting characters or sentences from a digital file.
[0298] "Generating a summary" means extracting the most important parts from the entire text and creating a short, concise summary.
[0299] "Recognizing emotions in real time" means instantly determining the user's emotions at that moment from their facial expressions, voice, and other factors.
[0300] "Recommendation" refers to suggesting relevant information or products based on a user's preferences and behavioral history.
[0301] "Charts and graphs" are graphs and tables used to visually represent data and information.
[0302] A "subscribeable format" refers to a format that allows users to register to receive updates on the information.
[0303] "User flow" refers to interface elements such as links and buttons that guide users to take their next action.
[0304] "Natural language processing technology" refers to the technology that enables computers to understand, generate, and analyze human language.
[0305] This invention combines a system that quickly extracts important information from digital files and generates summaries with an emotion engine that recognizes the user's emotions. Specifically, the system is configured as follows:
[0306] The user first uploads digital files (e.g., PDF, Word, PPT, etc.) to the server using their device. The user selects files either through a file selection dialog in their browser or by dragging and dropping. The device then sends the selected digital files to the server as an HTTP request.
[0307] The server determines the format of the file and extracts text from the file using a PDF parsing library if it is a PDF file or a Word parsing library if it is a Word file. For appropriate libraries, pdfplumber is used for PDF files and python-docx is used for Word files. The extracted text is temporarily stored in storage.
[0308] Next, the server utilizes natural language processing (NLP) techniques to preprocess the extracted text. The processing includes sentence splitting, stop word removal, stemming, etc. As a result, the text data is formatted into a form that is easier to analyze.
[0309] For the preprocessed text, a Transformer-based summarization model is used to extract important parts and generate a summary. For this summary generation, the pre-trained T5 model and its tokenizer, T5Tokenizer, are used. After summary generation, a Bert-based sentiment recognition model and its tokenizer are used to recognize the user's sentiment in real time. As a result, the user's sentiment data is grasped, and the result is reflected in the presentation method of the summary and the recommendation of detailed information.
[0310] For example, when a user reads a PDF sample for promoting a book they are interested in at a bookstore, the server extracts text from this PDF file and generates a summary. At the same time, if the user's sentiment is detected as "interesting", further detailed information and recommendations for related books are provided. Conversely, if it is detected as "boring", measures such as proposing another book are taken. [[ID=X]]
[0311] The generated summary and charts are provided to the user in a subscribable format, and the user selects the next action based on the summary information. Since purchase links for detailed information and access links to related materials are also provided, the user can immediately check the parts they are interested in.
[0312] Examples of specific prompt messages include the following:
[0313] "Generate a summary of this book, and if the user is interested, display a link to provide more information. If the sentiment is positive, also recommend related books. If the sentiment is negative, suggest that the user look for a different book."
[0314] Thus, the present invention enables users to efficiently grasp vast amounts of information and receive personalized information based on their emotions.
[0315] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0316] Step 1:
[0317] The user uploads digital files to the server using their device. Specifically, they select files using a file selection dialog in their browser or by dragging and dropping. After uploading, the device sends the selected digital files to the server as an HTTP request. The input is the digital files and their metadata, and the output is these being uploaded to the server.
[0318] Step 2:
[0319] The server determines the format of the received digital file. If it's a PDF file, it uses the PDF parsing library; if it's a Word file, it uses the Word parsing library. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files to extract text from the file. The input is the uploaded file, and the output is the extracted text data.
[0320] Step 3:
[0321] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. This results in text data in a format that is easy to analyze. The input is the extracted text, and the output is the preprocessed text data.
[0322] Step 4:
[0323] The server runs a Transformer-based summarization model (e.g., a T5 model) on pre-processed text to generate a summary. The input is the pre-processed text, and the output is the generated summary. This includes the specific actions of tokenizing the text using T5Tokenizer and generating the summary with the T5 model.
[0324] Step 5:
[0325] The server runs an emotion recognition engine to recognize the user's emotions in real time. This engine uses a Bert-based emotion recognition model to estimate emotions from the user's facial expressions, voice data, text data, etc. The input is real-time user data or summarized text, and the output is estimated emotion data.
[0326] Step 6:
[0327] The server adjusts how summaries are displayed and recommends detailed information based on sentiment data. For example, if it detects "interesting," it recommends links to detailed information and related materials. If it detects "boring," it highlights parts of the summary and provides a concise summary. The input is estimated sentiment data, and the output is adjusted summary information and recommendation information.
[0328] Step 7:
[0329] The server provides the generated summaries and figures in a subscribeable format. This includes purchase links for more information and links to related materials. Users can immediately view or purchase more information by clicking on the provided links. The input is the tailored summary and recommendation information, and the output is the information provided in a subscribeable format.
[0330] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0331] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0332] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0333] [Second Embodiment]
[0334] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0335] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0336] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0337] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0338] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0339] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0340] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0341] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0342] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0343] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0344] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0345] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0346] This invention is a system that allows users to upload digital files of books or presentation materials to a server, and then quickly extract important information from those files and generate a summary. The system mainly includes the following components: a user's terminal, a server, a text extraction means utilizing natural language processing technology, and a summary generation means.
[0347] First, the user uploads a digital file (e.g., PDF, Word, PPT) to the server using their device. The device sends the file to the server via an HTTP request. The server analyzes the received file and determines its type. For PDF files, it uses the pdfplumber library to extract text; for Word files, it uses the python-docx library, selecting the appropriate library for text extraction. The extracted text is temporarily stored in storage.
[0348] Next, the server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Subsequently, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. New figures and tables are also automatically generated as needed. For example, libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information.
[0349] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The server combines the generated summary and figures into a single dataset and sends it to the user's terminal as an HTTP response. The terminal receives this response and displays the summary information to the user.
[0350] Furthermore, for users who are interested in more detailed information, the server includes pathways to purchase that information or access related materials. Specifically, purchase links and links to access related materials are inserted within the summary. When a user clicks these links, the device sends a request to the server to redirect to the corresponding page. The server returns that URL as a response, and the device redirects the user to that page.
[0351] As a concrete example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user views the summary and finds it interesting, they are provided with a link to purchase the book or related supplementary materials containing a more detailed explanation. Clicking the link redirects the user to a purchase page with detailed information, allowing them to easily access the full details.
[0352] This allows users to efficiently grasp vast amounts of information and maximize their time performance. Purchasing detailed information and accessing related materials is also easy, enabling centralized information gathering and purchasing. This system achieves both increased efficiency in information gathering and an improved user experience.
[0353] The following describes the processing flow.
[0354] Step 1:
[0355] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0356] Step 2:
[0357] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0358] Step 3:
[0359] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0360] Step 4:
[0361] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0362] Step 5:
[0363] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0364] Step 6:
[0365] The server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from pre-processed text and generate a summary. Contextual understanding and key concept extraction are performed during this process.
[0366] Step 7:
[0367] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0368] Step 8:
[0369] The server combines the generated summaries and figures into a single dataset. This dataset also includes optional information that users can subscribe to.
[0370] Step 9:
[0371] The server sends the compiled dataset to the user's terminal as an HTTP response. The user's terminal receives this response and prepares an interface for displaying summary information and figures.
[0372] Step 10:
[0373] The device displays summary information and charts to the user. This display also includes purchase links for more detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0374] Step 11:
[0375] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0376] Step 12:
[0377] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0378] Through these steps, users can efficiently extract the necessary information and quickly access more detailed information. This system not only maximizes time performance but also centralizes the information gathering and purchasing processes.
[0379] (Example 1)
[0380] Next, we will describe Example 1. 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".
[0381] In modern society, the amount of digital information has exploded, and there is a need to quickly and efficiently acquire the necessary information from it. Conventional information extraction and summarization systems often involve a lot of manual operation, making efficient information gathering difficult. Furthermore, the provision of related information is insufficient, and obtaining detailed information requires separate searches or purchase procedures. This presents a challenge in that information gathering requires a great deal of time and effort.
[0382] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0383] In this invention, the server includes means for uploading digital data via a network, means for analyzing the uploaded data and extracting textual information, means for analyzing important parts from the extracted textual information and generating a summary, means for automatically generating new graphic data as needed, means for providing the generated summary and graphic data in an usable format, and means for providing detailed information and access to related additional information. This enables users to quickly and efficiently obtain the necessary information and easily access related information.
[0384] "Digital data" refers to all information stored electronically, including text, images, audio, and video.
[0385] A "network" is a system that allows computers and other devices to communicate with each other, and includes the internet and local area networks (LANs).
[0386] "Uploading" refers to the action of sending digital data from a user's device to a server.
[0387] "Analysis" refers to the process of analyzing digital data and understanding its content.
[0388] "Textual information" refers to the text data contained within digital data.
[0389] "Extraction" refers to the operation of taking out a specific part of data.
[0390] A "summary" refers to information that has been shortened and compiled from extracted textual information to highlight the most important points.
[0391] "Visual data" refers to data that visually represents numerical data or statistical information in the form of charts, graphs, and other visual formats.
[0392] "Available formats" refers to data formats that are provided in a form that is easily accessible and usable by users.
[0393] "Means of delivery" refers to the methods and systems used to deliver processed data to users.
[0394] "Detailed information" refers to information that goes beyond the summarized content, and includes the original digital data and related materials.
[0395] "Additional information" refers to related information or supplementary data that users can use to delve deeper into the information.
[0396] "Access" refers to a user reaching and using digital data and related materials.
[0397] "Method" refers to the specific techniques and processes used to extract textual information.
[0398] "Automatic generation" refers to a system autonomously generating data without requiring manual human intervention.
[0399] "Natural language processing technology" refers to the technology that enables computers to understand and generate natural human language.
[0400] This invention is a system in which a user uploads digital data files (e.g., PDF, Word, PPT, etc.) to a server, and important information is quickly extracted from those files to generate a summary. The implementation of this system utilizes the following hardware and software.
[0401] First, the user uploads a digital data file to the server using their device. The device sends the file to the server via an HTTP request. Appropriate security protocols are applied during this process to ensure data security.
[0402] The server analyzes the received file and determines its type. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files. In this way, the server selects the appropriate library and extracts the text. The extracted text is temporarily stored in storage.
[0403] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Examples of NLP techniques used include the nltk and spaCy libraries. Specifically, it performs processes such as text segmentation, stop word removal, and stemming. Once preprocessing is complete, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. During this process, a generative AI model based on user-provided prompts is also applied.
[0404] Furthermore, the server automatically generates new charts and graphs to visualize important numerical data and statistical information using libraries such as Matplotlib and Plotly. The generated summaries and charts are then compiled into a single dataset and provided to the user.
[0405] As a concrete example, consider a scenario where a user uploads a PDF file of a business book. The server extracts text from this PDF file and generates a summary of key business strategies and statistical data. Simultaneously, charts for visualization are automatically generated. The generated summary and charts are sent to the user's terminal as an HTTP response, allowing the user to view the summary information.
[0406] Furthermore, to make it easy to obtain more detailed information, the server inserts links to relevant materials within the summary. If a user is interested, clicking the link will redirect them to a page containing a detailed explanation.
[0407] Example of a prompt:
[0408] "Please generate a summary of the business strategy. Analyze this PDF file, extract key business strategies and statistical data, and create a summary."
[0409] In this way, the system can efficiently achieve rapid extraction and summarization of important information from digital data, thereby improving the user experience.
[0410] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0411] Step 1:
[0412] As part of the user's file selection process, the user uses a terminal to select a digital data file (e.g., PDF, Word, PPT, etc.) and prepares it for upload. During this process, the terminal reads the file's contents and generates input data to send to the server in the form of an HTTP request. This request includes the selected file.
[0413] Step 2:
[0414] As part of the process of a terminal sending an HTTP request to a server, the terminal sends the generated HTTP request to the server. The input is a digital data file selected by the user, and the output is a file sent to the server via the HTTP request. This allows the server to receive the file.
[0415] Step 3:
[0416] The server's operation of receiving and parsing files involves extracting file data from the received HTTP request. The input is the file data received by the server, and the output is the type and content of the parsed file. Specifically, the server checks the file's MIME type and determines the file type (PDF, Word, PPT, etc.).
[0417] Step 4:
[0418] When the server extracts text, it uses the appropriate library depending on the type of file it identifies. For example, it uses the pdfplumber library to extract text from PDF files and the python-docx library for Word files. The input is the parsed file, and the output is the extracted text data.
[0419] Step 5:
[0420] As part of the server's text preprocessing operation, the server preprocesses the extracted text using natural language processing techniques. The input is the extracted text data, and the output is the preprocessed text data. Specifically, it uses libraries such as nltk and spaCy to perform tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0421] Step 6:
[0422] In the server's process of generating summaries, the server runs a generative AI model using pre-processed text data. The input is the pre-processed text data and prompt sentences, and the output is the generated summary. Specifically, a Transformer-based summarization model (e.g., BERT or GPT) is used to extract important sections and generate the summary.
[0423] Step 7:
[0424] As part of the server's process of generating charts and graphs, it uses visualization libraries such as Matplotlib and Plotly to visualize important numerical data and statistical information. The input is numerical data in text, and the output is visualized charts and graphs. This makes the information easier to understand visually.
[0425] Step 8:
[0426] As part of the server's process of delivering summaries and figures to the user, the server formats the generated summaries and figures into a single dataset. The input is the generated summaries and figures, and the output is the dataset compiled as an HTTP response. The server then sends this dataset to the terminal.
[0427] Step 9:
[0428] The terminal's operation involves displaying a generated summary and chart. The terminal analyzes the received HTTP response and displays the generated summary and chart to the user. The input is the received response data, and the output is the displayed summary and chart.
[0429] Step 10:
[0430] For a user to access detailed information or related materials, they click a link within the summary on their device. The input is the link the user clicked, and the output is the request sent to the server. The server receives the request and returns the URL of the corresponding detailed information or related materials as a response. The device redirects the user to that URL, allowing them to access the detailed information or related materials.
[0431] Through the above process, a system is built that can quickly extract important information from digital data and generate and provide summaries and charts.
[0432] (Application Example 1)
[0433] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0434] In modern virtual stores and online shopping, users are required to quickly and efficiently understand product descriptions and reviews. Especially for products with a large amount of information, reading all the details is burdensome for users. Furthermore, if access to related products and additional information is not smooth, the customer experience may be compromised. Moreover, the lack of a system that can quickly extract and display the important parts from vast amounts of information makes efficient information gathering difficult.
[0435] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0436] In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, and means for displaying the generated summary and related link information on the user's display device. This allows the user to quickly grasp important content from a vast amount of information and to easily access related products and additional information.
[0437] A "digital file" is a collection of information stored in electronic format, including formats such as PDF, Word, and PPT.
[0438] A "server" is a computer system that receives requests from clients via a network and stores, processes, and provides files.
[0439] "Text extraction" is the process of obtaining textual information from a digital file and converting it into an identifiable format.
[0440] "Important sections" refer to the main points and relevant information contained within the text, which are particularly useful for the user.
[0441] A "summary" is a concise text that extracts and condenses only the main information and key points from the original text.
[0442] "New charts and graphs" refer to graphs and charts that are automatically generated to visually represent numerical data or important information within text.
[0443] A "subscribeable format" refers to a format in which information is provided in a way that allows users to receive it regularly.
[0444] A "display device" is a hardware device that allows users to visually confirm information, and includes smartphones and smart glasses.
[0445] "Link information" refers to web URLs or hyperlinks that provide access to additional information or related products.
[0446] "Natural language processing technology" refers to techniques that enable computers to understand human language, and includes methodologies for text analysis and language generation.
[0447] A "prompt statement" is an instruction given to an AI model to generate a specific output.
[0448] In order to implement this invention, it is necessary to build a system in which users upload digital files (e.g., PDF, Word, PPT) to a server, and the system quickly extracts important information from those files and generates a summary.
[0449] First, the user uploads a digital file to the server using a device (e.g., a smartphone or computer). This process involves sending the file to the server via an HTTP request. The server analyzes the received file and determines its type. For example, for a PDF file, the pdfplumber library is used to extract the text, and for a Word file, the python-docx library is used. This retrieves the text information from the file and temporarily stores it in storage.
[0450] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Then, it runs an NLP model (e.g., a Transformer-based summarization model) to extract important sections and generate a summary. If necessary, it automatically generates new charts and graphs to visualize important numerical data and statistical information. In this process, libraries such as Matplotlib and Plotly are used.
[0451] The generated summaries and figures are provided to the user in a subscribeable format. The server combines these summaries and figures into a single dataset and sends it to the user's device as an HTTP response. The device receives this response and displays it on the user's display device (e.g., smartphone or smart glasses). In addition, the server inserts links to purchase detailed information and access related materials along with the generated summaries. When the user clicks these links, they are redirected to the corresponding page, making it easy to purchase detailed information and related products.
[0452] As a concrete example, consider a scenario where a user uploads a PDF file containing a detailed manual for their new smartphone to the system. In this case, the server extracts text from the PDF file and generates a summary of key features and usage instructions. The server also generates purchase links for related smartphone accessories and warranty services and displays them on the user's display device. This allows the user to quickly grasp important information and smoothly purchase related products.
[0453] As an example of a prompt, the following sentences are entered into the generative AI model:
[0454] "Please summarize the important features and usage instructions for this smartphone manual."
[0455] This enables a system where users can efficiently acquire information and access related products and additional information in a centralized manner.
[0456] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0457] Step 1:
[0458] The user uploads digital files to the server using their device. The user uses a dedicated application to select the digital file (e.g., PDF, Word, PPT) and presses the upload button. The input is the digital file selected by the user, and the output is the file sent to the server via an HTTP request.
[0459] Step 2:
[0460] The server analyzes the received file and determines its type. The server checks the file extension (e.g., .pdf, .docx, .pptx) and selects the appropriate library (e.g., pdfplumber or python-docx) to extract the text. The input is the file uploaded to the server, and the output is the extracted text data.
[0461] Step 3:
[0462] The server temporarily saves the extracted text to storage. Specifically, it saves the extracted text to a temporary folder on the server. The input is text data, and the output is a text file saved in the temporary folder.
[0463] Step 4:
[0464] The server preprocesses stored text data using natural language processing (NLP) techniques. This includes processes such as sentence splitting, stop word removal, and stemming. Specifically, it uses an NLP library (e.g., spaCy). The input is a text file stored in storage, and the output is the preprocessed text data.
[0465] Step 5:
[0466] The server inputs pre-processed text data into a generating AI model (e.g., a Transformer-based summarization model) to generate a summary. Specifically, it provides prompt sentences to the generating AI model to generate the summary. The input consists of pre-processed text data and prompt sentences, and the output is the generated summary.
[0467] Step 6:
[0468] The server automatically generates new charts and graphs to visualize important numerical data and statistical information. Specifically, it uses libraries such as Matplotlib and Plotly to create graphs and charts. The input is summarized text data, and the output is newly generated charts and graphs.
[0469] Step 7:
[0470] The server combines the generated summaries and figures into a subscribeable format and sends it to the user's terminal as an HTTP response. Specifically, it combines the summaries and figures into a single dataset and returns it in JSON format. The input is the summary text and figures, and the output is a dataset in JSON format.
[0471] Step 8:
[0472] The terminal receives summaries and charts, which are then displayed on the user's display device (e.g., a smartphone or smart glasses). Specifically, a dedicated application on the terminal analyzes the response and converts it into a display format. The input is a JSON-formatted dataset, and the output is the summary and charts displayed on the display device.
[0473] Step 9:
[0474] The server inserts purchase links for detailed information and links to related materials along with the generated summary. Specifically, it calls the API for related products, generates URLs, and adds them to the summary. The input is the data that will form the basis of the summary and related links, and the output is the summary with the links added.
[0475] Step 10:
[0476] When a user clicks a link, they are redirected to a detailed purchase page or a page containing related materials. Specifically, when a link is clicked, an HTTP request is generated, and the browser navigates to the corresponding URL. The input is the link click event, and the output is the transition to the purchase page or related materials page.
[0477] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0478] This invention combines a system that allows users to upload digital files of books and presentation materials to a server, and then quickly extracts important information from those files and generates summaries, with an emotion engine. The system mainly includes the following components: a user terminal, a server, a text extraction means utilizing natural language processing technology, a summary generation means, and an emotion engine that recognizes the user's emotions.
[0479] First, the user uploads digital files (such as PDFs, Word documents, or PowerPoint presentations) to the server using their device. The user selects files either using a file selection dialog in their browser or by dragging and dropping them.
[0480] Next, the device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0481] The server receives a file, saves it, and determines its file format. For PDF files, it selects a PDF parsing library; for Word files, it selects a Word parsing library (e.g., pdfplumber, python-docx). Using the appropriate library, the server extracts text from the file. For example, in the case of a PDF file, it extracts text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0482] The server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0483] Next, the server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from the pre-processed text and generate a summary. This process involves understanding the context and extracting key concepts.
[0484] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0485] For example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommend more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," measures such as highlighting the summary and providing a concise summary are taken.
[0486] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The user's terminal receives this response and prepares an interface for displaying the summary information and figures. This display also includes purchase links for detailed information and links to related materials, allowing the user to quickly find the parts that interest them.
[0487] When a user clicks a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the information page, and the device redirects the user to the appropriate page based on this URL. On the information page, the user can purchase or download additional information.
[0488] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, improving user satisfaction. This system enables more advanced and efficient information delivery.
[0489] The following describes the processing flow.
[0490] Step 1:
[0491] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0492] Step 2:
[0493] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0494] Step 3:
[0495] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0496] Step 4:
[0497] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0498] Step 5:
[0499] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0500] Step 6:
[0501] The server runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from pre-processed text and generate a summary.
[0502] Step 7:
[0503] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0504] Step 8:
[0505] The server uses an emotion engine to recognize the user's emotions in real time. For example, while reading a file uploaded by the user, it analyzes facial expressions and voice tone through the camera and microphone.
[0506] Step 9:
[0507] The server analyzes the recognized sentiment data using an emotion engine and adjusts how summary information is presented. For example, if the user shows interest, it presents a detailed summary or additional information; if the user is bored, it provides a more concise summary.
[0508] Step 10:
[0509] The server compiles the generated summaries and figures into a single dataset and provides it to the user in a subscribeable format. This dataset also includes recommendation information based on the user's sentiment.
[0510] Step 11:
[0511] The server sends the compiled dataset to the user's terminal as an HTTP response. The terminal receives this response and prepares an interface for displaying summary information and figures.
[0512] Step 12:
[0513] The device displays summary information and charts to the user. Through this display, the user can find purchase links for more detailed information and links to access related materials.
[0514] Step 13:
[0515] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0516] Step 14:
[0517] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0518] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, leading to increased user satisfaction.
[0519] (Example 2)
[0520] Next, we will describe Example 2. 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".
[0521] Conventional text summarization systems have the problem of providing information without considering the user's emotions. As a result, users may not find the summarized information appealing, or conversely, they may miss important information. Furthermore, because the method of presenting summarized information is uniform, it fails to address the individual needs of users. Therefore, the present invention aims to improve the efficiency of information provision and the user experience by providing a system that recognizes the user's emotions in real time and provides personalized information based on emotion data.
[0522] The specific processing performed by the specific 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 files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and recommending information based on emotion data, means for automatically generating new charts and graphs as needed, means for providing the generated summaries and charts in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. This makes it possible to efficiently grasp vast amounts of information and receive personalized information based on emotions.
[0523] A "digital file" is an electronic file that can be created, stored, and read by a computer.
[0524] A "server" is a computer that provides services to other computers (clients) on a network.
[0525] "Uploading" refers to the operation of transferring data from a local device to a server.
[0526] "Analysis" is the process of extracting data and understanding its structure and content.
[0527] "Text" refers to data expressed through characters and sentences.
[0528] "Extraction" refers to the process of selecting and removing specific data or information.
[0529] A "summary" is a shortened and concise version of the main points and content of the original text.
[0530] "Emotions" refer to psychological states or feelings such as joy, sadness, and surprise.
[0531] "Real-time" means that processing is done instantly without delay.
[0532] "Emotional data" refers to data that expresses a user's emotional state using numerical values or categories.
[0533] "Recommendation" refers to presenting users with recommended information or options.
[0534] A "chart" or "graph" is a diagram or graph used to visually represent data or information.
[0535] A "subscribeable format" means that the information is provided in a format that users can access later.
[0536] "Detailed information" refers to additional information or specific examples that are not included in the summary.
[0537] A "user flow" refers to elements such as links and buttons that guide the user to the next action.
[0538] "Natural language processing technology" refers to the technology that enables computers to understand, interpret, and generate human language.
[0539] A "library" is a collection of pre-written programs or code designed to perform a specific function.
[0540] A "generative AI model" is a type of artificial intelligence that generates new information or text from data.
[0541] This invention combines an emotion engine with a system that allows users to upload digital files of books and presentation materials, and then quickly extracts important information from those files to generate a summary. The following describes how this invention can be specifically implemented.
[0542] The user's device has a browser installed, which can be used to upload digital files (such as PDFs, Word documents, and PowerPoint presentations) to the server. Users can select files using a file selection dialog or by dragging and dropping them.
[0543] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file. The server temporarily stores the received file and determines its format. If it's a PDF file, the server uses a PDF parsing library (e.g., pdfplumber); if it's a Word file, it uses a Word parsing library (e.g., python-docx) to extract text from the file. The extracted text is temporarily stored in storage.
[0544] The server then preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence segmentation, stop word removal, and stemming to generate easily analyzable text data. The server then runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from the preprocessed text and generate a summary.
[0545] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0546] For example, if a user uploads a PDF file of a business book to the system, the server extracts text from the PDF file and generates a summary of important business strategies and statistical data. Simultaneously, it can visualize important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommended more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," adjustments are made, such as highlighting the summary section and providing a concise summary.
[0547] The generated summaries and figures are provided to the user in a subscribeable format. The user's device receives this response and prepares an interface to display the summary information and figures. The displayed interface also includes purchase links for detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0548] Furthermore, when a user clicks a purchase link for detailed information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0549] This invention allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. This not only maximizes time performance but also unifies the information gathering and purchasing processes, improving user satisfaction.
[0550] Examples of specific prompt messages are as follows:
[0551] Prompt: Explain a system that extracts key business strategies and statistical data from user-uploaded business book PDF files, generates summaries, and recommends further details based on the user's sentiment data.
[0552] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0553] Step 1: Select a file from the user's device and upload it to the server.
[0554] The user selects a file using the browser's file selection dialog or by dragging and dropping.
[0555] Select the file and click the upload button.
[0556] Input: A digital file selected by the user (e.g., business_strategy.pdf)
[0557] Output: An HTTP request is generated by the terminal, and the file is sent to the server.
[0558] Step 2: The device sends the selected digital files to the server.
[0559] The device sends an HTTP request to the server containing the selected digital file and metadata (file name and file format).
[0560] Input: Selected digital file and its metadata
[0561] Output: The server receives the HTTP request and temporarily stores the file and metadata.
[0562] Step 3: The server determines the file format and extracts the text using the appropriate library.
[0563] The server checks the file's metadata to determine the file format.
[0564] For PDF files, select a PDF parsing library (e.g., pdfplumber); for Word files, select a Word parsing library (e.g., python-docx).
[0565] Extract text from a file using the appropriate library. For PDF files, extract the text from each page in a sequential format.
[0566] Input: Digital files and their metadata stored on the server
[0567] Output: Extracted text data (e.g., "Chapter 1: Market Analysis...")
[0568] Step 4: Preprocess the text extracted by the server.
[0569] The server preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs sentence splitting, stop word removal, and stemming.
[0570] This improves the efficiency of data analysis.
[0571] Input: Extracted text data
[0572] Output: Pre-processed text data (e.g., "Chapter market analysis...")
[0573] Step 5: The server generates the summary.
[0574] The server runs a Transformer-based summarization model, extracting key parts from pre-processed text to generate a summary.
[0575] Input: Pre-processed text data
[0576] Output: Generated summary data (Example: "This book details market analysis and competitive strategies.")
[0577] Step 6: The server uses an emotion engine to recognize the user's emotions in real time.
[0578] The server uses an emotion engine to estimate emotions from the user's facial expressions, voice tone, and input text (comments and feedback), and generates emotion data.
[0579] Input: Real-time user data (facial expressions, voice tone, comments, etc.)
[0580] Output: Recognized sentiment data (e.g., "Interesting")
[0581] Step 7: The server recommends information based on the user's sentiment data.
[0582] The server adjusts how summaries are presented based on sentiment data, providing links to more detailed information and additional resources. For example, if a user perceives something as "interesting," it will provide additional detailed information.
[0583] Input: Generated summary data and sentiment data
[0584] Output: Personalized summary information and recommendation data (e.g., "You can find detailed market analysis data at the link below.")
[0585] Step 8: The server provides the generated summaries and charts in a subscribeable format.
[0586] The server provides users with summaries and charts in a subscribeable format, allowing them to access the information later.
[0587] Input: Generated summary data and figure / table data
[0588] Output: Data in a subscribeable format (e.g., HTML, PDF)
[0589] Step 9: The device displays summary information and charts.
[0590] Prepare an interface for the user's device to display the response received from the server. This interface will also include purchase links for detailed information and links to related documentation.
[0591] Input: Response data from the server
[0592] Output: User display interface
[0593] Step 10: The user clicks the link for more information, and the device sends the corresponding request to the server.
[0594] When a user clicks on a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server.
[0595] Input: User click event
[0596] Output: Request data from the terminal
[0597] Step 11: The server returns a URL corresponding to the request, and the device redirects the user.
[0598] The server returns a response containing the URL of a page with more detailed information, and the device redirects the user to the appropriate page based on this URL. This allows the user to purchase or download additional information.
[0599] Input: Request data from the terminal
[0600] Output: Response data including the corresponding URL
[0601] (Application Example 2)
[0602] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0603] In recent years, with the advent of digitalization, there has been a growing need to process large amounts of information quickly and utilize it efficiently. However, the process of users extracting and summarizing necessary information from vast amounts of digital files is extremely cumbersome, and the resulting summaries are uniform and do not take into account the individual feelings and interests of users, resulting in insufficient information provision. On the other hand, even in physical stores such as bookstores, it is difficult for users to immediately obtain summaries or detailed information about books they are interested in. This leads to the problem of users having to spend a lot of time and effort gathering information.
[0604] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and changing the presentation method of the summary and recommendations of detailed information based on the results, means for automatically generating new figures and tables as needed, means for providing the generated summaries and figures and tables in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. As a result, users can obtain summaries of books in a short time and receive personalized information based on their emotions.
[0605] A "digital file" refers to documents and materials that are stored in electronic format.
[0606] A "server" is a computer that stores and manages data on a network and provides data in response to requests from clients.
[0607] "Extracting text" refers to the process of extracting characters or sentences from a digital file.
[0608] "Generating a summary" means extracting the most important parts from the entire text and creating a short, concise summary.
[0609] "Recognizing emotions in real time" means instantly determining the user's emotions at that moment from their facial expressions, voice, and other factors.
[0610] "Recommendation" refers to suggesting relevant information or products based on a user's preferences and behavioral history.
[0611] "Charts and graphs" are graphs and tables used to visually represent data and information.
[0612] A "subscribeable format" refers to a format that allows users to register to receive updates on the information.
[0613] "User flow" refers to interface elements such as links and buttons that guide users to take their next action.
[0614] "Natural language processing technology" refers to the technology that enables computers to understand, generate, and analyze human language.
[0615] This invention combines a system that quickly extracts important information from digital files and generates summaries with an emotion engine that recognizes the user's emotions. Specifically, the system is configured as follows:
[0616] The user first uploads digital files (e.g., PDF, Word, PPT, etc.) to the server using their device. The user selects files either through a file selection dialog in their browser or by dragging and dropping. The device then sends the selected digital files to the server as an HTTP request.
[0617] The server determines the file format and extracts text from the file using either a PDF parsing library (for PDF files) or a Word parsing library (for Word files). For PDF files, pdfplumber is used, and for Word files, python-docx is used. The extracted text is temporarily stored in storage.
[0618] Next, the server uses natural language processing (NLP) techniques to pre-process the extracted text. This processing includes sentence splitting, stop word removal, and stemming. This formats the text data into a format that is easy to analyze.
[0619] For pre-processed text, a Transformer-based summarization model is used to extract key parts and generate a summary. This summary generation utilizes a pre-trained T5 model and its tokenizer, T5Tokenizer. After summary generation, a Bert-based sentiment recognition model and its tokenizer are used to recognize the user's sentiment in real time. This allows the system to capture the user's sentiment data, which is then reflected in how the summary is presented and in the recommendations for detailed information.
[0620] For example, when a user scans a promotional PDF sample of a book that interests them in a bookstore, the server extracts text from the PDF file and generates a summary. At the same time, if the user's sentiment is detected as "interesting," further details and recommendations for related books are provided. Conversely, if it is detected as "boring," measures such as suggesting a different book are taken.
[0621] The generated summaries and figures are provided to the user in a subscribeable format, allowing the user to choose their next action based on the summary information. Links to purchase more detailed information and access related materials are also provided, enabling users to quickly check the parts that interest them.
[0622] Examples of specific prompt messages include the following:
[0623] "Generate a summary of this book, and if the user is interested, display a link to provide more information. If the sentiment is positive, also recommend related books. If the sentiment is negative, suggest that the user look for a different book."
[0624] Thus, the present invention enables users to efficiently grasp vast amounts of information and receive personalized information based on their emotions.
[0625] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0626] Step 1:
[0627] The user uploads digital files to the server using their device. Specifically, they select files using a file selection dialog in their browser or by dragging and dropping. After uploading, the device sends the selected digital files to the server as an HTTP request. The input is the digital files and their metadata, and the output is these being uploaded to the server.
[0628] Step 2:
[0629] The server determines the format of the received digital file. If it's a PDF file, it uses the PDF parsing library; if it's a Word file, it uses the Word parsing library. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files to extract text from the file. The input is the uploaded file, and the output is the extracted text data.
[0630] Step 3:
[0631] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. This results in text data in a format that is easy to analyze. The input is the extracted text, and the output is the preprocessed text data.
[0632] Step 4:
[0633] The server runs a Transformer-based summarization model (e.g., a T5 model) on pre-processed text to generate a summary. The input is the pre-processed text, and the output is the generated summary. This includes the specific actions of tokenizing the text using T5Tokenizer and generating the summary with the T5 model.
[0634] Step 5:
[0635] The server runs an emotion recognition engine to recognize the user's emotions in real time. This engine uses a Bert-based emotion recognition model to estimate emotions from the user's facial expressions, voice data, text data, etc. The input is real-time user data or summarized text, and the output is estimated emotion data.
[0636] Step 6:
[0637] The server adjusts how summaries are displayed and recommends detailed information based on sentiment data. For example, if it detects "interesting," it recommends links to detailed information and related materials. If it detects "boring," it highlights parts of the summary and provides a concise summary. The input is estimated sentiment data, and the output is adjusted summary information and recommendation information.
[0638] Step 7:
[0639] The server provides the generated summaries and figures in a subscribeable format. This includes purchase links for more information and links to related materials. Users can immediately view or purchase more information by clicking on the provided links. The input is the tailored summary and recommendation information, and the output is the information provided in a subscribeable format.
[0640] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0641] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0642] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0643] [Third Embodiment]
[0644] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0645] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0646] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0647] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0648] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0649] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0650] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0651] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0652] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0653] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0654] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0655] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0656] This invention is a system that allows users to upload digital files of books or presentation materials to a server, and then quickly extract important information from those files and generate a summary. The system mainly includes the following components: a user's terminal, a server, a text extraction means utilizing natural language processing technology, and a summary generation means.
[0657] First, the user uploads a digital file (e.g., PDF, Word, PPT) to the server using their device. The device sends the file to the server via an HTTP request. The server analyzes the received file and determines its type. For PDF files, it uses the pdfplumber library to extract text; for Word files, it uses the python-docx library, selecting the appropriate library for text extraction. The extracted text is temporarily stored in storage.
[0658] Next, the server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Subsequently, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. New figures and tables are also automatically generated as needed. For example, libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information.
[0659] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The server combines the generated summary and figures into a single dataset and sends it to the user's terminal as an HTTP response. The terminal receives this response and displays the summary information to the user.
[0660] Furthermore, for users who are interested in more detailed information, the server includes pathways to purchase that information or access related materials. Specifically, purchase links and links to access related materials are inserted within the summary. When a user clicks these links, the device sends a request to the server to redirect to the corresponding page. The server returns that URL as a response, and the device redirects the user to that page.
[0661] As a concrete example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user views the summary and finds it interesting, they are provided with a link to purchase the book or related supplementary materials containing a more detailed explanation. Clicking the link redirects the user to a purchase page with detailed information, allowing them to easily access the full details.
[0662] This allows users to efficiently grasp vast amounts of information and maximize their time performance. Purchasing detailed information and accessing related materials is also easy, enabling centralized information gathering and purchasing. This system achieves both increased efficiency in information gathering and an improved user experience.
[0663] The following describes the processing flow.
[0664] Step 1:
[0665] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0666] Step 2:
[0667] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0668] Step 3:
[0669] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0670] Step 4:
[0671] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0672] Step 5:
[0673] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0674] Step 6:
[0675] The server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from pre-processed text and generate a summary. Contextual understanding and key concept extraction are performed during this process.
[0676] Step 7:
[0677] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0678] Step 8:
[0679] The server combines the generated summaries and figures into a single dataset. This dataset also includes optional information that users can subscribe to.
[0680] Step 9:
[0681] The server sends the compiled dataset to the user's terminal as an HTTP response. The user's terminal receives this response and prepares an interface for displaying summary information and figures.
[0682] Step 10:
[0683] The device displays summary information and charts to the user. This display also includes purchase links for more detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0684] Step 11:
[0685] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0686] Step 12:
[0687] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0688] Through these steps, users can efficiently extract the necessary information and quickly access more detailed information. This system not only maximizes time performance but also centralizes the information gathering and purchasing processes.
[0689] (Example 1)
[0690] Next, we will describe Example 1. 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."
[0691] In modern society, the amount of digital information has exploded, and there is a need to quickly and efficiently acquire the necessary information from it. Conventional information extraction and summarization systems often involve a lot of manual operation, making efficient information gathering difficult. Furthermore, the provision of related information is insufficient, and obtaining detailed information requires separate searches or purchase procedures. This presents a challenge in that information gathering requires a great deal of time and effort.
[0692] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0693] In this invention, the server includes means for uploading digital data via a network, means for analyzing the uploaded data and extracting textual information, means for analyzing important parts from the extracted textual information and generating a summary, means for automatically generating new graphic data as needed, means for providing the generated summary and graphic data in an usable format, and means for providing detailed information and access to related additional information. This enables users to quickly and efficiently obtain the necessary information and easily access related information.
[0694] "Digital data" refers to all information stored electronically, including text, images, audio, and video.
[0695] A "network" is a system that allows computers and other devices to communicate with each other, and includes the internet and local area networks (LANs).
[0696] "Uploading" refers to the action of sending digital data from a user's device to a server.
[0697] "Analysis" refers to the process of analyzing digital data and understanding its content.
[0698] "Textual information" refers to the text data contained within digital data.
[0699] "Extraction" refers to the operation of taking out a specific part of data.
[0700] A "summary" refers to information that has been shortened and compiled from extracted textual information to highlight the most important points.
[0701] "Visual data" refers to data that visually represents numerical data or statistical information in the form of charts, graphs, and other visual formats.
[0702] "Available formats" refers to data formats that are provided in a form that is easily accessible and usable by users.
[0703] "Means of delivery" refers to the methods and systems used to deliver processed data to users.
[0704] "Detailed information" refers to information that goes beyond the summarized content, and includes the original digital data and related materials.
[0705] "Additional information" refers to related information or supplementary data that users can use to delve deeper into the information.
[0706] "Access" refers to a user reaching and using digital data and related materials.
[0707] "Method" refers to the specific techniques and processes used to extract textual information.
[0708] "Automatic generation" refers to a system autonomously generating data without requiring manual human intervention.
[0709] "Natural language processing technology" refers to the technology that enables computers to understand and generate natural human language.
[0710] This invention is a system in which a user uploads digital data files (e.g., PDF, Word, PPT, etc.) to a server, and important information is quickly extracted from those files to generate a summary. The implementation of this system utilizes the following hardware and software.
[0711] First, the user uploads a digital data file to the server using their device. The device sends the file to the server via an HTTP request. Appropriate security protocols are applied during this process to ensure data security.
[0712] The server analyzes the received file and determines its type. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files. In this way, the server selects the appropriate library and extracts the text. The extracted text is temporarily stored in storage.
[0713] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Examples of NLP techniques used include the nltk and spaCy libraries. Specifically, it performs processes such as text segmentation, stop word removal, and stemming. Once preprocessing is complete, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. During this process, a generative AI model based on user-provided prompts is also applied.
[0714] Furthermore, the server automatically generates new charts and graphs to visualize important numerical data and statistical information using libraries such as Matplotlib and Plotly. The generated summaries and charts are then compiled into a single dataset and provided to the user.
[0715] As a concrete example, consider a scenario where a user uploads a PDF file of a business book. The server extracts text from this PDF file and generates a summary of key business strategies and statistical data. Simultaneously, charts for visualization are automatically generated. The generated summary and charts are sent to the user's terminal as an HTTP response, allowing the user to view the summary information.
[0716] Furthermore, to make it easy to obtain more detailed information, the server inserts links to relevant materials within the summary. If a user is interested, clicking the link will redirect them to a page containing a detailed explanation.
[0717] Example of a prompt:
[0718] "Please generate a summary of the business strategy. Analyze this PDF file, extract key business strategies and statistical data, and create a summary."
[0719] In this way, the system can efficiently achieve rapid extraction and summarization of important information from digital data, thereby improving the user experience.
[0720] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0721] Step 1:
[0722] As part of the user's file selection process, the user uses a terminal to select a digital data file (e.g., PDF, Word, PPT, etc.) and prepares it for upload. During this process, the terminal reads the file's contents and generates input data to send to the server in the form of an HTTP request. This request includes the selected file.
[0723] Step 2:
[0724] As part of the process of a terminal sending an HTTP request to a server, the terminal sends the generated HTTP request to the server. The input is a digital data file selected by the user, and the output is a file sent to the server via the HTTP request. This allows the server to receive the file.
[0725] Step 3:
[0726] The server's operation of receiving and parsing files involves extracting file data from the received HTTP request. The input is the file data received by the server, and the output is the type and content of the parsed file. Specifically, the server checks the file's MIME type and determines the file type (PDF, Word, PPT, etc.).
[0727] Step 4:
[0728] When the server extracts text, it uses the appropriate library depending on the type of file it identifies. For example, it uses the pdfplumber library to extract text from PDF files and the python-docx library for Word files. The input is the parsed file, and the output is the extracted text data.
[0729] Step 5:
[0730] As part of the server's text preprocessing operation, the server preprocesses the extracted text using natural language processing techniques. The input is the extracted text data, and the output is the preprocessed text data. Specifically, it uses libraries such as nltk and spaCy to perform tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0731] Step 6:
[0732] In the server's process of generating summaries, the server runs a generative AI model using pre-processed text data. The input is the pre-processed text data and prompt sentences, and the output is the generated summary. Specifically, a Transformer-based summarization model (e.g., BERT or GPT) is used to extract important sections and generate the summary.
[0733] Step 7:
[0734] As part of the server's process of generating charts and graphs, it uses visualization libraries such as Matplotlib and Plotly to visualize important numerical data and statistical information. The input is numerical data in text, and the output is visualized charts and graphs. This makes the information easier to understand visually.
[0735] Step 8:
[0736] As part of the server's process of delivering summaries and figures to the user, the server formats the generated summaries and figures into a single dataset. The input is the generated summaries and figures, and the output is the dataset compiled as an HTTP response. The server then sends this dataset to the terminal.
[0737] Step 9:
[0738] The terminal's operation involves displaying a generated summary and chart. The terminal analyzes the received HTTP response and displays the generated summary and chart to the user. The input is the received response data, and the output is the displayed summary and chart.
[0739] Step 10:
[0740] For a user to access detailed information or related materials, they click a link within the summary on their device. The input is the link the user clicked, and the output is the request sent to the server. The server receives the request and returns the URL of the corresponding detailed information or related materials as a response. The device redirects the user to that URL, allowing them to access the detailed information or related materials.
[0741] Through the above process, a system is built that can quickly extract important information from digital data and generate and provide summaries and charts.
[0742] (Application Example 1)
[0743] Next, we will explain Application Example 1. In the following explanation, 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."
[0744] In modern virtual stores and online shopping, users are required to quickly and efficiently understand product descriptions and reviews. Especially for products with a large amount of information, reading all the details is burdensome for users. Furthermore, if access to related products and additional information is not smooth, the customer experience may be compromised. Moreover, the lack of a system that can quickly extract and display the important parts from vast amounts of information makes efficient information gathering difficult.
[0745] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0746] In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, and means for displaying the generated summary and related link information on the user's display device. This allows the user to quickly grasp important content from a vast amount of information and to easily access related products and additional information.
[0747] A "digital file" is a collection of information stored in electronic format, including formats such as PDF, Word, and PPT.
[0748] A "server" is a computer system that receives requests from clients via a network and stores, processes, and provides files.
[0749] "Text extraction" is the process of obtaining textual information from a digital file and converting it into an identifiable format.
[0750] "Important sections" refer to the main points and relevant information contained within the text, which are particularly useful for the user.
[0751] A "summary" is a concise text that extracts and condenses only the main information and key points from the original text.
[0752] "New charts and graphs" refer to graphs and charts that are automatically generated to visually represent numerical data or important information within text.
[0753] A "subscribeable format" refers to a format in which information is provided in a way that allows users to receive it regularly.
[0754] A "display device" is a hardware device that allows users to visually confirm information, and includes smartphones and smart glasses.
[0755] "Link information" refers to web URLs or hyperlinks that provide access to additional information or related products.
[0756] "Natural language processing technology" refers to techniques that enable computers to understand human language, and includes methodologies for text analysis and language generation.
[0757] A "prompt statement" is an instruction given to an AI model to generate a specific output.
[0758] In order to implement this invention, it is necessary to build a system in which users upload digital files (e.g., PDF, Word, PPT) to a server, and the system quickly extracts important information from those files and generates a summary.
[0759] First, the user uploads a digital file to the server using a device (e.g., a smartphone or computer). This process involves sending the file to the server via an HTTP request. The server analyzes the received file and determines its type. For example, for a PDF file, the pdfplumber library is used to extract the text, and for a Word file, the python-docx library is used. This retrieves the text information from the file and temporarily stores it in storage.
[0760] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Then, it runs an NLP model (e.g., a Transformer-based summarization model) to extract important sections and generate a summary. If necessary, it automatically generates new charts and graphs to visualize important numerical data and statistical information. In this process, libraries such as Matplotlib and Plotly are used.
[0761] The generated summaries and figures are provided to the user in a subscribeable format. The server combines these summaries and figures into a single dataset and sends it to the user's device as an HTTP response. The device receives this response and displays it on the user's display device (e.g., smartphone or smart glasses). In addition, the server inserts links to purchase detailed information and access related materials along with the generated summaries. When the user clicks these links, they are redirected to the corresponding page, making it easy to purchase detailed information and related products.
[0762] As a concrete example, consider a scenario where a user uploads a PDF file containing a detailed manual for their new smartphone to the system. In this case, the server extracts text from the PDF file and generates a summary of key features and usage instructions. The server also generates purchase links for related smartphone accessories and warranty services and displays them on the user's display device. This allows the user to quickly grasp important information and smoothly purchase related products.
[0763] As an example of a prompt, the following sentences are entered into the generative AI model:
[0764] "Please summarize the important features and usage instructions for this smartphone manual."
[0765] This enables a system where users can efficiently acquire information and access related products and additional information in a centralized manner.
[0766] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0767] Step 1:
[0768] The user uploads digital files to the server using their device. The user uses a dedicated application to select the digital file (e.g., PDF, Word, PPT) and presses the upload button. The input is the digital file selected by the user, and the output is the file sent to the server via an HTTP request.
[0769] Step 2:
[0770] The server analyzes the received file and determines its type. The server checks the file extension (e.g., .pdf, .docx, .pptx) and selects the appropriate library (e.g., pdfplumber or python-docx) to extract the text. The input is the file uploaded to the server, and the output is the extracted text data.
[0771] Step 3:
[0772] The server temporarily saves the extracted text to storage. Specifically, it saves the extracted text to a temporary folder on the server. The input is text data, and the output is a text file saved in the temporary folder.
[0773] Step 4:
[0774] The server preprocesses stored text data using natural language processing (NLP) techniques. This includes processes such as sentence splitting, stop word removal, and stemming. Specifically, it uses an NLP library (e.g., spaCy). The input is a text file stored in storage, and the output is the preprocessed text data.
[0775] Step 5:
[0776] The server inputs pre-processed text data into a generating AI model (e.g., a Transformer-based summarization model) to generate a summary. Specifically, it provides prompt sentences to the generating AI model to generate the summary. The input consists of pre-processed text data and prompt sentences, and the output is the generated summary.
[0777] Step 6:
[0778] The server automatically generates new charts and graphs to visualize important numerical data and statistical information. Specifically, it uses libraries such as Matplotlib and Plotly to create graphs and charts. The input is summarized text data, and the output is newly generated charts and graphs.
[0779] Step 7:
[0780] The server combines the generated summaries and figures into a subscribeable format and sends it to the user's terminal as an HTTP response. Specifically, it combines the summaries and figures into a single dataset and returns it in JSON format. The input is the summary text and figures, and the output is a dataset in JSON format.
[0781] Step 8:
[0782] The terminal receives summaries and charts, which are then displayed on the user's display device (e.g., a smartphone or smart glasses). Specifically, a dedicated application on the terminal analyzes the response and converts it into a display format. The input is a JSON-formatted dataset, and the output is the summary and charts displayed on the display device.
[0783] Step 9:
[0784] The server inserts purchase links for detailed information and links to related materials along with the generated summary. Specifically, it calls the API for related products, generates URLs, and adds them to the summary. The input is the data that will form the basis of the summary and related links, and the output is the summary with the links added.
[0785] Step 10:
[0786] When a user clicks a link, they are redirected to a detailed purchase page or a page containing related materials. Specifically, when a link is clicked, an HTTP request is generated, and the browser navigates to the corresponding URL. The input is the link click event, and the output is the transition to the purchase page or related materials page.
[0787] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0788] This invention combines a system that allows users to upload digital files of books and presentation materials to a server, and then quickly extracts important information from those files and generates summaries, with an emotion engine. The system mainly includes the following components: a user terminal, a server, a text extraction means utilizing natural language processing technology, a summary generation means, and an emotion engine that recognizes the user's emotions.
[0789] First, the user uploads digital files (such as PDFs, Word documents, or PowerPoint presentations) to the server using their device. The user selects files either using a file selection dialog in their browser or by dragging and dropping them.
[0790] Next, the device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0791] The server receives a file, saves it, and determines its file format. For PDF files, it selects a PDF parsing library; for Word files, it selects a Word parsing library (e.g., pdfplumber, python-docx). Using the appropriate library, the server extracts text from the file. For example, in the case of a PDF file, it extracts text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0792] The server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0793] Next, the server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from the pre-processed text and generate a summary. This process involves understanding the context and extracting key concepts.
[0794] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0795] For example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommend more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," measures such as highlighting the summary and providing a concise summary are taken.
[0796] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The user's terminal receives this response and prepares an interface for displaying the summary information and figures. This display also includes purchase links for detailed information and links to related materials, allowing the user to quickly find the parts that interest them.
[0797] When a user clicks a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the information page, and the device redirects the user to the appropriate page based on this URL. On the information page, the user can purchase or download additional information.
[0798] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, improving user satisfaction. This system enables more advanced and efficient information delivery.
[0799] The following describes the processing flow.
[0800] Step 1:
[0801] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0802] Step 2:
[0803] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0804] Step 3:
[0805] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0806] Step 4:
[0807] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0808] Step 5:
[0809] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[0810] Step 6:
[0811] The server runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from pre-processed text and generate a summary.
[0812] Step 7:
[0813] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0814] Step 8:
[0815] The server uses an emotion engine to recognize the user's emotions in real time. For example, while reading a file uploaded by the user, it analyzes facial expressions and voice tone through the camera and microphone.
[0816] Step 9:
[0817] The server analyzes the recognized sentiment data using an emotion engine and adjusts how summary information is presented. For example, if the user shows interest, it presents a detailed summary or additional information; if the user is bored, it provides a more concise summary.
[0818] Step 10:
[0819] The server compiles the generated summaries and figures into a single dataset and provides it to the user in a subscribeable format. This dataset also includes recommendation information based on the user's sentiment.
[0820] Step 11:
[0821] The server sends the compiled dataset to the user's terminal as an HTTP response. The terminal receives this response and prepares an interface for displaying summary information and figures.
[0822] Step 12:
[0823] The device displays summary information and charts to the user. Through this display, the user can find purchase links for more detailed information and links to access related materials.
[0824] Step 13:
[0825] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0826] Step 14:
[0827] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0828] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, leading to increased user satisfaction.
[0829] (Example 2)
[0830] Next, we will describe Example 2. 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."
[0831] Conventional text summarization systems have the problem of providing information without considering the user's emotions. As a result, users may not find the summarized information appealing, or conversely, they may miss important information. Furthermore, because the method of presenting summarized information is uniform, it fails to address the individual needs of users. Therefore, the present invention aims to improve the efficiency of information provision and the user experience by providing a system that recognizes the user's emotions in real time and provides personalized information based on emotion data.
[0832] The specific processing performed by the specific 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 files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and recommending information based on emotion data, means for automatically generating new charts and graphs as needed, means for providing the generated summaries and charts in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. This makes it possible to efficiently grasp vast amounts of information and receive personalized information based on emotions.
[0833] A "digital file" is an electronic file that can be created, stored, and read by a computer.
[0834] A "server" is a computer that provides services to other computers (clients) on a network.
[0835] "Uploading" refers to the operation of transferring data from a local device to a server.
[0836] "Analysis" is the process of extracting data and understanding its structure and content.
[0837] "Text" refers to data expressed through characters and sentences.
[0838] "Extraction" refers to the process of selecting and removing specific data or information.
[0839] A "summary" is a shortened and concise version of the main points and content of the original text.
[0840] "Emotions" refer to psychological states or feelings such as joy, sadness, and surprise.
[0841] "Real-time" means that processing is done instantly without delay.
[0842] "Emotional data" refers to data that expresses a user's emotional state using numerical values or categories.
[0843] "Recommendation" refers to presenting users with recommended information or options.
[0844] A "chart" or "graph" is a diagram or graph used to visually represent data or information.
[0845] A "subscribeable format" means that the information is provided in a format that users can access later.
[0846] "Detailed information" refers to additional information or specific examples that are not included in the summary.
[0847] A "user flow" refers to elements such as links and buttons that guide the user to the next action.
[0848] "Natural language processing technology" refers to the technology that enables computers to understand, interpret, and generate human language.
[0849] A "library" is a collection of pre-written programs or code designed to perform a specific function.
[0850] A "generative AI model" is a type of artificial intelligence that generates new information or text from data.
[0851] This invention combines an emotion engine with a system that allows users to upload digital files of books and presentation materials, and then quickly extracts important information from those files to generate a summary. The following describes how this invention can be specifically implemented.
[0852] The user's device has a browser installed, which can be used to upload digital files (such as PDFs, Word documents, and PowerPoint presentations) to the server. Users can select files using a file selection dialog or by dragging and dropping them.
[0853] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file. The server temporarily stores the received file and determines its format. If it's a PDF file, the server uses a PDF parsing library (e.g., pdfplumber); if it's a Word file, it uses a Word parsing library (e.g., python-docx) to extract text from the file. The extracted text is temporarily stored in storage.
[0854] The server then preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence segmentation, stop word removal, and stemming to generate easily analyzable text data. The server then runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from the preprocessed text and generate a summary.
[0855] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[0856] For example, if a user uploads a PDF file of a business book to the system, the server extracts text from the PDF file and generates a summary of important business strategies and statistical data. Simultaneously, it can visualize important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommended more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," adjustments are made, such as highlighting the summary section and providing a concise summary.
[0857] The generated summaries and figures are provided to the user in a subscribeable format. The user's device receives this response and prepares an interface to display the summary information and figures. The displayed interface also includes purchase links for detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0858] Furthermore, when a user clicks a purchase link for detailed information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0859] This invention allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. This not only maximizes time performance but also unifies the information gathering and purchasing processes, improving user satisfaction.
[0860] Examples of specific prompt messages are as follows:
[0861] Prompt: Explain a system that extracts key business strategies and statistical data from user-uploaded business book PDF files, generates summaries, and recommends further details based on the user's sentiment data.
[0862] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0863] Step 1: Select a file from the user's device and upload it to the server.
[0864] The user selects a file using the browser's file selection dialog or by dragging and dropping.
[0865] Select the file and click the upload button.
[0866] Input: A digital file selected by the user (e.g., business_strategy.pdf)
[0867] Output: An HTTP request is generated by the terminal, and the file is sent to the server.
[0868] Step 2: The device sends the selected digital files to the server.
[0869] The device sends an HTTP request to the server containing the selected digital file and metadata (file name and file format).
[0870] Input: Selected digital file and its metadata
[0871] Output: The server receives the HTTP request and temporarily stores the file and metadata.
[0872] Step 3: The server determines the file format and extracts the text using the appropriate library.
[0873] The server checks the file's metadata to determine the file format.
[0874] For PDF files, select a PDF parsing library (e.g., pdfplumber); for Word files, select a Word parsing library (e.g., python-docx).
[0875] Extract text from a file using the appropriate library. For PDF files, extract the text from each page in a sequential format.
[0876] Input: Digital files and their metadata stored on the server
[0877] Output: Extracted text data (e.g., "Chapter 1: Market Analysis...")
[0878] Step 4: Preprocess the text extracted by the server.
[0879] The server preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs sentence splitting, stop word removal, and stemming.
[0880] This improves the efficiency of data analysis.
[0881] Input: Extracted text data
[0882] Output: Pre-processed text data (e.g., "Chapter market analysis...")
[0883] Step 5: The server generates the summary.
[0884] The server runs a Transformer-based summarization model, extracting key parts from pre-processed text to generate a summary.
[0885] Input: Pre-processed text data
[0886] Output: Generated summary data (Example: "This book details market analysis and competitive strategies.")
[0887] Step 6: The server uses an emotion engine to recognize the user's emotions in real time.
[0888] The server uses an emotion engine to estimate emotions from the user's facial expressions, voice tone, and input text (comments and feedback), and generates emotion data.
[0889] Input: Real-time user data (facial expressions, voice tone, comments, etc.)
[0890] Output: Recognized sentiment data (e.g., "Interesting")
[0891] Step 7: The server recommends information based on the user's sentiment data.
[0892] The server adjusts how summaries are presented based on sentiment data, providing links to more detailed information and additional resources. For example, if a user perceives something as "interesting," it will provide additional detailed information.
[0893] Input: Generated summary data and sentiment data
[0894] Output: Personalized summary information and recommendation data (e.g., "You can find detailed market analysis data at the link below.")
[0895] Step 8: The server provides the generated summaries and charts in a subscribeable format.
[0896] The server provides users with summaries and charts in a subscribeable format, allowing them to access the information later.
[0897] Input: Generated summary data and figure / table data
[0898] Output: Data in a subscribeable format (e.g., HTML, PDF)
[0899] Step 9: The device displays summary information and charts.
[0900] Prepare an interface for the user's device to display the response received from the server. This interface will also include purchase links for detailed information and links to related documentation.
[0901] Input: Response data from the server
[0902] Output: User display interface
[0903] Step 10: The user clicks the link for more information, and the device sends the corresponding request to the server.
[0904] When a user clicks on a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server.
[0905] Input: User click event
[0906] Output: Request data from the terminal
[0907] Step 11: The server returns a URL corresponding to the request, and the device redirects the user.
[0908] The server returns a response containing the URL of a page with more detailed information, and the device redirects the user to the appropriate page based on this URL. This allows the user to purchase or download additional information.
[0909] Input: Request data from the terminal
[0910] Output: Response data including the corresponding URL
[0911] (Application Example 2)
[0912] Next, we will explain application example 2. In the following explanation, 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."
[0913] In recent years, with the advent of digitalization, there has been a growing need to process large amounts of information quickly and utilize it efficiently. However, the process of users extracting and summarizing necessary information from vast amounts of digital files is extremely cumbersome, and the resulting summaries are uniform and do not take into account the individual feelings and interests of users, resulting in insufficient information provision. On the other hand, even in physical stores such as bookstores, it is difficult for users to immediately obtain summaries or detailed information about books they are interested in. This leads to the problem of users having to spend a lot of time and effort gathering information.
[0914] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and changing the presentation method of the summary and recommendations of detailed information based on the results, means for automatically generating new figures and tables as needed, means for providing the generated summaries and figures and tables in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. As a result, users can obtain summaries of books in a short time and receive personalized information based on their emotions.
[0915] A "digital file" refers to documents and materials that are stored in electronic format.
[0916] A "server" is a computer that stores and manages data on a network and provides data in response to requests from clients.
[0917] "Extracting text" refers to the process of extracting characters or sentences from a digital file.
[0918] "Generating a summary" means extracting the most important parts from the entire text and creating a short, concise summary.
[0919] "Recognizing emotions in real time" means instantly determining the user's emotions at that moment from their facial expressions, voice, and other factors.
[0920] "Recommendation" refers to suggesting relevant information or products based on a user's preferences and behavioral history.
[0921] "Charts and graphs" are graphs and tables used to visually represent data and information.
[0922] A "subscribeable format" refers to a format that allows users to register to receive updates on the information.
[0923] "User flow" refers to interface elements such as links and buttons that guide users to take their next action.
[0924] "Natural language processing technology" refers to the technology that enables computers to understand, generate, and analyze human language.
[0925] This invention combines a system that quickly extracts important information from digital files and generates summaries with an emotion engine that recognizes the user's emotions. Specifically, the system is configured as follows:
[0926] The user first uploads digital files (e.g., PDF, Word, PPT, etc.) to the server using their device. The user selects files either through a file selection dialog in their browser or by dragging and dropping. The device then sends the selected digital files to the server as an HTTP request.
[0927] The server determines the file format and extracts text from the file using either a PDF parsing library (for PDF files) or a Word parsing library (for Word files). For PDF files, pdfplumber is used, and for Word files, python-docx is used. The extracted text is temporarily stored in storage.
[0928] Next, the server uses natural language processing (NLP) techniques to pre-process the extracted text. This processing includes sentence splitting, stop word removal, and stemming. This formats the text data into a format that is easy to analyze.
[0929] For pre-processed text, a Transformer-based summarization model is used to extract key parts and generate a summary. This summary generation utilizes a pre-trained T5 model and its tokenizer, T5Tokenizer. After summary generation, a Bert-based sentiment recognition model and its tokenizer are used to recognize the user's sentiment in real time. This allows the system to capture the user's sentiment data, which is then reflected in how the summary is presented and in the recommendations for detailed information.
[0930] For example, when a user scans a promotional PDF sample of a book that interests them in a bookstore, the server extracts text from the PDF file and generates a summary. At the same time, if the user's sentiment is detected as "interesting," further details and recommendations for related books are provided. Conversely, if it is detected as "boring," measures such as suggesting a different book are taken.
[0931] The generated summaries and figures are provided to the user in a subscribeable format, allowing the user to choose their next action based on the summary information. Links to purchase more detailed information and access related materials are also provided, enabling users to quickly check the parts that interest them.
[0932] Examples of specific prompt messages include the following:
[0933] "Generate a summary of this book, and if the user is interested, display a link to provide more information. If the sentiment is positive, also recommend related books. If the sentiment is negative, suggest that the user look for a different book."
[0934] Thus, the present invention enables users to efficiently grasp vast amounts of information and receive personalized information based on their emotions.
[0935] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0936] Step 1:
[0937] The user uploads digital files to the server using their device. Specifically, they select files using a file selection dialog in their browser or by dragging and dropping. After uploading, the device sends the selected digital files to the server as an HTTP request. The input is the digital files and their metadata, and the output is these being uploaded to the server.
[0938] Step 2:
[0939] The server determines the format of the received digital file. If it's a PDF file, it uses the PDF parsing library; if it's a Word file, it uses the Word parsing library. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files to extract text from the file. The input is the uploaded file, and the output is the extracted text data.
[0940] Step 3:
[0941] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. This results in text data in a format that is easy to analyze. The input is the extracted text, and the output is the preprocessed text data.
[0942] Step 4:
[0943] The server runs a Transformer-based summarization model (e.g., a T5 model) on pre-processed text to generate a summary. The input is the pre-processed text, and the output is the generated summary. This includes the specific actions of tokenizing the text using T5Tokenizer and generating the summary with the T5 model.
[0944] Step 5:
[0945] The server runs an emotion recognition engine to recognize the user's emotions in real time. This engine uses a Bert-based emotion recognition model to estimate emotions from the user's facial expressions, voice data, text data, etc. The input is real-time user data or summarized text, and the output is estimated emotion data.
[0946] Step 6:
[0947] The server adjusts how summaries are displayed and recommends detailed information based on sentiment data. For example, if it detects "interesting," it recommends links to detailed information and related materials. If it detects "boring," it highlights parts of the summary and provides a concise summary. The input is estimated sentiment data, and the output is adjusted summary information and recommendation information.
[0948] Step 7:
[0949] The server provides the generated summaries and figures in a subscribeable format. This includes purchase links for more information and links to related materials. Users can immediately view or purchase more information by clicking on the provided links. The input is the tailored summary and recommendation information, and the output is the information provided in a subscribeable format.
[0950] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0951] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0952] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0953] [Fourth Embodiment]
[0954] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0955] As shown in Figure 7, the 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.
[0956] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0957] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0958] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0959] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0960] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0961] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0962] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0963] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0964] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0965] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0966] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0967] This invention is a system that allows users to upload digital files of books or presentation materials to a server, and then quickly extract important information from those files and generate a summary. The system mainly includes the following components: a user's terminal, a server, a text extraction means utilizing natural language processing technology, and a summary generation means.
[0968] First, the user uploads a digital file (e.g., PDF, Word, PPT) to the server using their device. The device sends the file to the server via an HTTP request. The server analyzes the received file and determines its type. For PDF files, it uses the pdfplumber library to extract text; for Word files, it uses the python-docx library, selecting the appropriate library for text extraction. The extracted text is temporarily stored in storage.
[0969] Next, the server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Subsequently, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. New figures and tables are also automatically generated as needed. For example, libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information.
[0970] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The server combines the generated summary and figures into a single dataset and sends it to the user's terminal as an HTTP response. The terminal receives this response and displays the summary information to the user.
[0971] Furthermore, for users who are interested in more detailed information, the server includes pathways to purchase that information or access related materials. Specifically, purchase links and links to access related materials are inserted within the summary. When a user clicks these links, the device sends a request to the server to redirect to the corresponding page. The server returns that URL as a response, and the device redirects the user to that page.
[0972] As a concrete example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user views the summary and finds it interesting, they are provided with a link to purchase the book or related supplementary materials containing a more detailed explanation. Clicking the link redirects the user to a purchase page with detailed information, allowing them to easily access the full details.
[0973] This allows users to efficiently grasp vast amounts of information and maximize their time performance. Purchasing detailed information and accessing related materials is also easy, enabling centralized information gathering and purchasing. This system achieves both increased efficiency in information gathering and an improved user experience.
[0974] The following describes the processing flow.
[0975] Step 1:
[0976] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[0977] Step 2:
[0978] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[0979] Step 3:
[0980] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[0981] Step 4:
[0982] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[0983] Step 5:
[0984] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[0985] Step 6:
[0986] The server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from pre-processed text and generate a summary. Contextual understanding and key concept extraction are performed during this process.
[0987] Step 7:
[0988] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[0989] Step 8:
[0990] The server combines the generated summaries and figures into a single dataset. This dataset also includes optional information that users can subscribe to.
[0991] Step 9:
[0992] The server sends the compiled dataset to the user's terminal as an HTTP response. The user's terminal receives this response and prepares an interface for displaying summary information and figures.
[0993] Step 10:
[0994] The device displays summary information and charts to the user. This display also includes purchase links for more detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[0995] Step 11:
[0996] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[0997] Step 12:
[0998] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[0999] Through these steps, users can efficiently extract the necessary information and quickly access more detailed information. This system not only maximizes time performance but also centralizes the information gathering and purchasing processes.
[1000] (Example 1)
[1001] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1002] In modern society, the amount of digital information has exploded, and there is a need to quickly and efficiently acquire the necessary information from it. Conventional information extraction and summarization systems often involve a lot of manual operation, making efficient information gathering difficult. Furthermore, the provision of related information is insufficient, and obtaining detailed information requires separate searches or purchase procedures. This presents a challenge in that information gathering requires a great deal of time and effort.
[1003] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1004] In this invention, the server includes means for uploading digital data via a network, means for analyzing the uploaded data and extracting textual information, means for analyzing important parts from the extracted textual information and generating a summary, means for automatically generating new graphic data as needed, means for providing the generated summary and graphic data in an usable format, and means for providing detailed information and access to related additional information. This enables users to quickly and efficiently obtain the necessary information and easily access related information.
[1005] "Digital data" refers to all information stored electronically, including text, images, audio, and video.
[1006] A "network" is a system that allows computers and other devices to communicate with each other, and includes the internet and local area networks (LANs).
[1007] "Uploading" refers to the action of sending digital data from a user's device to a server.
[1008] "Analysis" refers to the process of analyzing digital data and understanding its content.
[1009] "Textual information" refers to the text data contained within digital data.
[1010] "Extraction" refers to the operation of taking out a specific part of data.
[1011] A "summary" refers to information that has been shortened and compiled from extracted textual information to highlight the most important points.
[1012] "Visual data" refers to data that visually represents numerical data or statistical information in the form of charts, graphs, and other visual formats.
[1013] "Available formats" refers to data formats that are provided in a form that is easily accessible and usable by users.
[1014] "Means of delivery" refers to the methods and systems used to deliver processed data to users.
[1015] "Detailed information" refers to information that goes beyond the summarized content, and includes the original digital data and related materials.
[1016] "Additional information" refers to related information or supplementary data that users can use to delve deeper into the information.
[1017] "Access" refers to a user reaching and using digital data and related materials.
[1018] "Method" refers to the specific techniques and processes used to extract textual information.
[1019] "Automatic generation" refers to a system autonomously generating data without requiring manual human intervention.
[1020] "Natural language processing technology" refers to the technology that enables computers to understand and generate natural human language.
[1021] This invention is a system in which a user uploads digital data files (e.g., PDF, Word, PPT, etc.) to a server, and important information is quickly extracted from those files to generate a summary. The implementation of this system utilizes the following hardware and software.
[1022] First, the user uploads a digital data file to the server using their device. The device sends the file to the server via an HTTP request. Appropriate security protocols are applied during this process to ensure data security.
[1023] The server analyzes the received file and determines its type. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files. In this way, the server selects the appropriate library and extracts the text. The extracted text is temporarily stored in storage.
[1024] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Examples of NLP techniques used include the nltk and spaCy libraries. Specifically, it performs processes such as text segmentation, stop word removal, and stemming. Once preprocessing is complete, the server runs an NLP model (for example, a Transformer-based summarization model) to extract important sections and generate a summary. During this process, a generative AI model based on user-provided prompts is also applied.
[1025] Furthermore, the server automatically generates new charts and graphs to visualize important numerical data and statistical information using libraries such as Matplotlib and Plotly. The generated summaries and charts are then compiled into a single dataset and provided to the user.
[1026] As a concrete example, consider a scenario where a user uploads a PDF file of a business book. The server extracts text from this PDF file and generates a summary of key business strategies and statistical data. Simultaneously, charts for visualization are automatically generated. The generated summary and charts are sent to the user's terminal as an HTTP response, allowing the user to view the summary information.
[1027] Furthermore, to make it easy to obtain more detailed information, the server inserts links to relevant materials within the summary. If a user is interested, clicking the link will redirect them to a page containing a detailed explanation.
[1028] Example of a prompt:
[1029] "Please generate a summary of the business strategy. Analyze this PDF file, extract key business strategies and statistical data, and create a summary."
[1030] In this way, the system can efficiently achieve rapid extraction and summarization of important information from digital data, thereby improving the user experience.
[1031] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1032] Step 1:
[1033] As part of the user's file selection process, the user uses a terminal to select a digital data file (e.g., PDF, Word, PPT, etc.) and prepares it for upload. During this process, the terminal reads the file's contents and generates input data to send to the server in the form of an HTTP request. This request includes the selected file.
[1034] Step 2:
[1035] As part of the process of a terminal sending an HTTP request to a server, the terminal sends the generated HTTP request to the server. The input is a digital data file selected by the user, and the output is a file sent to the server via the HTTP request. This allows the server to receive the file.
[1036] Step 3:
[1037] The server's operation of receiving and parsing files involves extracting file data from the received HTTP request. The input is the file data received by the server, and the output is the type and content of the parsed file. Specifically, the server checks the file's MIME type and determines the file type (PDF, Word, PPT, etc.).
[1038] Step 4:
[1039] When the server extracts text, it uses the appropriate library depending on the type of file it identifies. For example, it uses the pdfplumber library to extract text from PDF files and the python-docx library for Word files. The input is the parsed file, and the output is the extracted text data.
[1040] Step 5:
[1041] As part of the server's text preprocessing operation, the server preprocesses the extracted text using natural language processing techniques. The input is the extracted text data, and the output is the preprocessed text data. Specifically, it uses libraries such as nltk and spaCy to perform tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[1042] Step 6:
[1043] In the server's process of generating summaries, the server runs a generative AI model using pre-processed text data. The input is the pre-processed text data and prompt sentences, and the output is the generated summary. Specifically, a Transformer-based summarization model (e.g., BERT or GPT) is used to extract important sections and generate the summary.
[1044] Step 7:
[1045] As part of the server's process of generating charts and graphs, it uses visualization libraries such as Matplotlib and Plotly to visualize important numerical data and statistical information. The input is numerical data in text, and the output is visualized charts and graphs. This makes the information easier to understand visually.
[1046] Step 8:
[1047] As part of the server's process of delivering summaries and figures to the user, the server formats the generated summaries and figures into a single dataset. The input is the generated summaries and figures, and the output is the dataset compiled as an HTTP response. The server then sends this dataset to the terminal.
[1048] Step 9:
[1049] The terminal's operation involves displaying a generated summary and chart. The terminal analyzes the received HTTP response and displays the generated summary and chart to the user. The input is the received response data, and the output is the displayed summary and chart.
[1050] Step 10:
[1051] For a user to access detailed information or related materials, they click a link within the summary on their device. The input is the link the user clicked, and the output is the request sent to the server. The server receives the request and returns the URL of the corresponding detailed information or related materials as a response. The device redirects the user to that URL, allowing them to access the detailed information or related materials.
[1052] Through the above process, a system is built that can quickly extract important information from digital data and generate and provide summaries and charts.
[1053] (Application Example 1)
[1054] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1055] In modern virtual stores and online shopping, users are required to quickly and efficiently understand product descriptions and reviews. Especially for products with a large amount of information, reading all the details is burdensome for users. Furthermore, if access to related products and additional information is not smooth, the customer experience may be compromised. Moreover, the lack of a system that can quickly extract and display the important parts from vast amounts of information makes efficient information gathering difficult.
[1056] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1057] In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, and means for displaying the generated summary and related link information on the user's display device. This allows the user to quickly grasp important content from a vast amount of information and to easily access related products and additional information.
[1058] A "digital file" is a collection of information stored in electronic format, including formats such as PDF, Word, and PPT.
[1059] A "server" is a computer system that receives requests from clients via a network and stores, processes, and provides files.
[1060] "Text extraction" is the process of obtaining textual information from a digital file and converting it into an identifiable format.
[1061] "Important sections" refer to the main points and relevant information contained within the text, which are particularly useful for the user.
[1062] A "summary" is a concise text that extracts and condenses only the main information and key points from the original text.
[1063] "New charts and graphs" refer to graphs and charts that are automatically generated to visually represent numerical data or important information within text.
[1064] A "subscribeable format" refers to a format in which information is provided in a way that allows users to receive it regularly.
[1065] A "display device" is a hardware device that allows users to visually confirm information, and includes smartphones and smart glasses.
[1066] "Link information" refers to web URLs or hyperlinks that provide access to additional information or related products.
[1067] "Natural language processing technology" refers to techniques that enable computers to understand human language, and includes methodologies for text analysis and language generation.
[1068] A "prompt statement" is an instruction given to an AI model to generate a specific output.
[1069] In order to implement this invention, it is necessary to build a system in which users upload digital files (e.g., PDF, Word, PPT) to a server, and the system quickly extracts important information from those files and generates a summary.
[1070] First, the user uploads a digital file to the server using a device (e.g., a smartphone or computer). This process involves sending the file to the server via an HTTP request. The server analyzes the received file and determines its type. For example, for a PDF file, the pdfplumber library is used to extract the text, and for a Word file, the python-docx library is used. This retrieves the text information from the file and temporarily stores it in storage.
[1071] Next, the server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. Then, it runs an NLP model (e.g., a Transformer-based summarization model) to extract important sections and generate a summary. If necessary, it automatically generates new charts and graphs to visualize important numerical data and statistical information. In this process, libraries such as Matplotlib and Plotly are used.
[1072] The generated summaries and figures are provided to the user in a subscribeable format. The server combines these summaries and figures into a single dataset and sends it to the user's device as an HTTP response. The device receives this response and displays it on the user's display device (e.g., smartphone or smart glasses). In addition, the server inserts links to purchase detailed information and access related materials along with the generated summaries. When the user clicks these links, they are redirected to the corresponding page, making it easy to purchase detailed information and related products.
[1073] As a concrete example, consider a scenario where a user uploads a PDF file containing a detailed manual for their new smartphone to the system. In this case, the server extracts text from the PDF file and generates a summary of key features and usage instructions. The server also generates purchase links for related smartphone accessories and warranty services and displays them on the user's display device. This allows the user to quickly grasp important information and smoothly purchase related products.
[1074] As an example of a prompt, the following sentences are entered into the generative AI model:
[1075] "Please summarize the important features and usage instructions for this smartphone manual."
[1076] This enables a system where users can efficiently acquire information and access related products and additional information in a centralized manner.
[1077] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1078] Step 1:
[1079] The user uploads digital files to the server using their device. The user uses a dedicated application to select the digital file (e.g., PDF, Word, PPT) and presses the upload button. The input is the digital file selected by the user, and the output is the file sent to the server via an HTTP request.
[1080] Step 2:
[1081] The server analyzes the received file and determines its type. The server checks the file extension (e.g., .pdf, .docx, .pptx) and selects the appropriate library (e.g., pdfplumber or python-docx) to extract the text. The input is the file uploaded to the server, and the output is the extracted text data.
[1082] Step 3:
[1083] The server temporarily saves the extracted text to storage. Specifically, it saves the extracted text to a temporary folder on the server. The input is text data, and the output is a text file saved in the temporary folder.
[1084] Step 4:
[1085] The server preprocesses stored text data using natural language processing (NLP) techniques. This includes processes such as sentence splitting, stop word removal, and stemming. Specifically, it uses an NLP library (e.g., spaCy). The input is a text file stored in storage, and the output is the preprocessed text data.
[1086] Step 5:
[1087] The server inputs pre-processed text data into a generating AI model (e.g., a Transformer-based summarization model) to generate a summary. Specifically, it provides prompt sentences to the generating AI model to generate the summary. The input consists of pre-processed text data and prompt sentences, and the output is the generated summary.
[1088] Step 6:
[1089] The server automatically generates new charts and graphs to visualize important numerical data and statistical information. Specifically, it uses libraries such as Matplotlib and Plotly to create graphs and charts. The input is summarized text data, and the output is newly generated charts and graphs.
[1090] Step 7:
[1091] The server combines the generated summaries and figures into a subscribeable format and sends it to the user's terminal as an HTTP response. Specifically, it combines the summaries and figures into a single dataset and returns it in JSON format. The input is the summary text and figures, and the output is a dataset in JSON format.
[1092] Step 8:
[1093] The terminal receives summaries and charts, which are then displayed on the user's display device (e.g., a smartphone or smart glasses). Specifically, a dedicated application on the terminal analyzes the response and converts it into a display format. The input is a JSON-formatted dataset, and the output is the summary and charts displayed on the display device.
[1094] Step 9:
[1095] The server inserts purchase links for detailed information and links to related materials along with the generated summary. Specifically, it calls the API for related products, generates URLs, and adds them to the summary. The input is the data that will form the basis of the summary and related links, and the output is the summary with the links added.
[1096] Step 10:
[1097] When a user clicks a link, they are redirected to a detailed purchase page or a page containing related materials. Specifically, when a link is clicked, an HTTP request is generated, and the browser navigates to the corresponding URL. The input is the link click event, and the output is the transition to the purchase page or related materials page.
[1098] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1099] This invention combines a system that allows users to upload digital files of books and presentation materials to a server, and then quickly extracts important information from those files and generates summaries, with an emotion engine. The system mainly includes the following components: a user terminal, a server, a text extraction means utilizing natural language processing technology, a summary generation means, and an emotion engine that recognizes the user's emotions.
[1100] First, the user uploads digital files (such as PDFs, Word documents, or PowerPoint presentations) to the server using their device. The user selects files either using a file selection dialog in their browser or by dragging and dropping them.
[1101] Next, the device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[1102] The server receives a file, saves it, and determines its file format. For PDF files, it selects a PDF parsing library; for Word files, it selects a Word parsing library (e.g., pdfplumber, python-docx). Using the appropriate library, the server extracts text from the file. For example, in the case of a PDF file, it extracts text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[1103] The server preprocesses this text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming (word stem extraction). This formats the text data into a format that is easy to analyze.
[1104] Next, the server runs an NLP model (for example, a Transformer-based summarization model) to extract key parts from the pre-processed text and generate a summary. This process involves understanding the context and extracting key concepts.
[1105] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[1106] For example, consider a scenario where a user uploads a PDF file of a business book to the system. The server extracts text from the PDF file and generates a summary of key business strategies and statistical data. Simultaneously, it visualizes important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommend more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," measures such as highlighting the summary and providing a concise summary are taken.
[1107] After the summary and figures are generated, the server provides this data to the user in a subscribeable format. The user's terminal receives this response and prepares an interface for displaying the summary information and figures. This display also includes purchase links for detailed information and links to related materials, allowing the user to quickly find the parts that interest them.
[1108] When a user clicks a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the information page, and the device redirects the user to the appropriate page based on this URL. On the information page, the user can purchase or download additional information.
[1109] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, improving user satisfaction. This system enables more advanced and efficient information delivery.
[1110] The following describes the processing flow.
[1111] Step 1:
[1112] Users upload digital files (PDF, Word, PPT, etc.) of books and presentation materials from their devices to the server. Users select files using a file selection dialog in their browser or by dragging and dropping.
[1113] Step 2:
[1114] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file.
[1115] Step 3:
[1116] The server saves the received file and determines its file format. If it's a PDF file, it selects a PDF parsing library; if it's a Word file, it selects a Word parsing library (e.g., pdfplumber, python-docx).
[1117] Step 4:
[1118] The server extracts text from the file using the appropriate library. For example, in the case of a PDF file, it extracts the text from each page and saves it as a single continuous text file. The extracted text is temporarily stored in storage.
[1119] Step 5:
[1120] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs tasks such as sentence splitting, stop word removal, and stemming (word stem extraction).
[1121] Step 6:
[1122] The server runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from pre-processed text and generate a summary.
[1123] Step 7:
[1124] The server automatically generates new charts and graphs as needed. Visualization libraries such as Matplotlib and Plotly are used to visualize important numerical data and statistical information as graphs and charts.
[1125] Step 8:
[1126] The server uses an emotion engine to recognize the user's emotions in real time. For example, while reading a file uploaded by the user, it analyzes facial expressions and voice tone through the camera and microphone.
[1127] Step 9:
[1128] The server analyzes the recognized sentiment data using an emotion engine and adjusts how summary information is presented. For example, if the user shows interest, it presents a detailed summary or additional information; if the user is bored, it provides a more concise summary.
[1129] Step 10:
[1130] The server compiles the generated summaries and figures into a single dataset and provides it to the user in a subscribeable format. This dataset also includes recommendation information based on the user's sentiment.
[1131] Step 11:
[1132] The server sends the compiled dataset to the user's terminal as an HTTP response. The terminal receives this response and prepares an interface for displaying summary information and figures.
[1133] Step 12:
[1134] The device displays summary information and charts to the user. Through this display, the user can find purchase links for more detailed information and links to access related materials.
[1135] Step 13:
[1136] The user clicks a purchase link for more information or a link to access related materials. The device triggers the click event and sends a corresponding request to the server.
[1137] Step 14:
[1138] The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[1139] This allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. Not only does it maximize time performance, but the information gathering and purchasing processes are unified, leading to increased user satisfaction.
[1140] (Example 2)
[1141] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1142] Conventional text summarization systems have the problem of providing information without considering the user's emotions. As a result, users may not find the summarized information appealing, or conversely, they may miss important information. Furthermore, because the method of presenting summarized information is uniform, it fails to address the individual needs of users. Therefore, the present invention aims to improve the efficiency of information provision and the user experience by providing a system that recognizes the user's emotions in real time and provides personalized information based on emotion data.
[1143] The specific processing performed by the specific 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 files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and recommending information based on emotion data, means for automatically generating new charts and graphs as needed, means for providing the generated summaries and charts in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. This makes it possible to efficiently grasp vast amounts of information and receive personalized information based on emotions.
[1144] A "digital file" is an electronic file that can be created, stored, and read by a computer.
[1145] A "server" is a computer that provides services to other computers (clients) on a network.
[1146] "Uploading" refers to the operation of transferring data from a local device to a server.
[1147] "Analysis" is the process of extracting data and understanding its structure and content.
[1148] "Text" refers to data expressed through characters and sentences.
[1149] "Extraction" refers to the process of selecting and removing specific data or information.
[1150] A "summary" is a shortened and concise version of the main points and content of the original text.
[1151] "Emotions" refer to psychological states or feelings such as joy, sadness, and surprise.
[1152] "Real-time" means that processing is done instantly without delay.
[1153] "Emotional data" refers to data that expresses a user's emotional state using numerical values or categories.
[1154] "Recommendation" refers to presenting users with recommended information or options.
[1155] A "chart" or "graph" is a diagram or graph used to visually represent data or information.
[1156] A "subscribeable format" means that the information is provided in a format that users can access later.
[1157] "Detailed information" refers to additional information or specific examples that are not included in the summary.
[1158] A "user flow" refers to elements such as links and buttons that guide the user to the next action.
[1159] "Natural language processing technology" refers to the technology that enables computers to understand, interpret, and generate human language.
[1160] A "library" is a collection of pre-written programs or code designed to perform a specific function.
[1161] A "generative AI model" is a type of artificial intelligence that generates new information or text from data.
[1162] This invention combines an emotion engine with a system that allows users to upload digital files of books and presentation materials, and then quickly extracts important information from those files to generate a summary. The following describes how this invention can be specifically implemented.
[1163] The user's device has a browser installed, which can be used to upload digital files (such as PDFs, Word documents, and PowerPoint presentations) to the server. Users can select files using a file selection dialog or by dragging and dropping them.
[1164] The device sends the selected digital file to the server as an HTTP request. Metadata (file name, file format, etc.) is also sent along with the file. The server temporarily stores the received file and determines its format. If it's a PDF file, the server uses a PDF parsing library (e.g., pdfplumber); if it's a Word file, it uses a Word parsing library (e.g., python-docx) to extract text from the file. The extracted text is temporarily stored in storage.
[1165] The server then preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence segmentation, stop word removal, and stemming to generate easily analyzable text data. The server then runs an NLP model (for example, a Transformer-based summarization model) to extract important parts from the preprocessed text and generate a summary.
[1166] Furthermore, the server uses an emotion engine to recognize the user's emotions in real time. The emotion engine estimates emotions from the user's facial expressions, voice tone, and input text (comments and feedback). This emotion data is used to determine how summaries are presented and to recommend detailed information.
[1167] For example, if a user uploads a PDF file of a business book to the system, the server extracts text from the PDF file and generates a summary of important business strategies and statistical data. Simultaneously, it can visualize important numerical data as charts. If the user's sentiment is detected as "interesting," links to recommended more detailed information and additional materials are provided. Conversely, if the user's sentiment is detected as "boring," adjustments are made, such as highlighting the summary section and providing a concise summary.
[1168] The generated summaries and figures are provided to the user in a subscribeable format. The user's device receives this response and prepares an interface to display the summary information and figures. The displayed interface also includes purchase links for detailed information and links to related materials, allowing the user to quickly check the parts that interest them.
[1169] Furthermore, when a user clicks a purchase link for detailed information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server. The server returns a response containing the URL of the detailed information page, and the device redirects the user to the appropriate page based on this URL. On the detailed information page, the user can purchase or download additional information.
[1170] This invention allows users to efficiently grasp vast amounts of information and receive personalized information based on their emotions. This not only maximizes time performance but also unifies the information gathering and purchasing processes, improving user satisfaction.
[1171] Examples of specific prompt messages are as follows:
[1172] Prompt: Explain a system that extracts key business strategies and statistical data from user-uploaded business book PDF files, generates summaries, and recommends further details based on the user's sentiment data.
[1173] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1174] Step 1: Select a file from the user's device and upload it to the server.
[1175] The user selects a file using the browser's file selection dialog or by dragging and dropping.
[1176] Select the file and click the upload button.
[1177] Input: A digital file selected by the user (e.g., business_strategy.pdf)
[1178] Output: An HTTP request is generated by the terminal, and the file is sent to the server.
[1179] Step 2: The device sends the selected digital files to the server.
[1180] The device sends an HTTP request to the server containing the selected digital file and metadata (file name and file format).
[1181] Input: Selected digital file and its metadata
[1182] Output: The server receives the HTTP request and temporarily stores the file and metadata.
[1183] Step 3: The server determines the file format and extracts the text using the appropriate library.
[1184] The server checks the file's metadata to determine the file format.
[1185] For PDF files, select a PDF parsing library (e.g., pdfplumber); for Word files, select a Word parsing library (e.g., python-docx).
[1186] Extract text from a file using the appropriate library. For PDF files, extract the text from each page in a sequential format.
[1187] Input: Digital files and their metadata stored on the server
[1188] Output: Extracted text data (e.g., "Chapter 1: Market Analysis...")
[1189] Step 4: Preprocess the text extracted by the server.
[1190] The server preprocesses the text using natural language processing (NLP) techniques. Specifically, it performs sentence splitting, stop word removal, and stemming.
[1191] This improves the efficiency of data analysis.
[1192] Input: Extracted text data
[1193] Output: Pre-processed text data (e.g., "Chapter market analysis...")
[1194] Step 5: The server generates the summary.
[1195] The server runs a Transformer-based summarization model, extracting key parts from pre-processed text to generate a summary.
[1196] Input: Pre-processed text data
[1197] Output: Generated summary data (Example: "This book details market analysis and competitive strategies.")
[1198] Step 6: The server uses an emotion engine to recognize the user's emotions in real time.
[1199] The server uses an emotion engine to estimate emotions from the user's facial expressions, voice tone, and input text (comments and feedback), and generates emotion data.
[1200] Input: Real-time user data (facial expressions, voice tone, comments, etc.)
[1201] Output: Recognized sentiment data (e.g., "Interesting")
[1202] Step 7: The server recommends information based on the user's sentiment data.
[1203] The server adjusts how summaries are presented based on sentiment data, providing links to more detailed information and additional resources. For example, if a user perceives something as "interesting," it will provide additional detailed information.
[1204] Input: Generated summary data and sentiment data
[1205] Output: Personalized summary information and recommendation data (e.g., "You can find detailed market analysis data at the link below.")
[1206] Step 8: The server provides the generated summaries and charts in a subscribeable format.
[1207] The server provides users with summaries and charts in a subscribeable format, allowing them to access the information later.
[1208] Input: Generated summary data and figure / table data
[1209] Output: Data in a subscribeable format (e.g., HTML, PDF)
[1210] Step 9: The device displays summary information and charts.
[1211] Prepare an interface for the user's device to display the response received from the server. This interface will also include purchase links for detailed information and links to related documentation.
[1212] Input: Response data from the server
[1213] Output: User display interface
[1214] Step 10: The user clicks the link for more information, and the device sends the corresponding request to the server.
[1215] When a user clicks on a purchase link for more information or a link to access related materials, the device triggers a click event and sends a corresponding request to the server.
[1216] Input: User click event
[1217] Output: Request data from the terminal
[1218] Step 11: The server returns a URL corresponding to the request, and the device redirects the user.
[1219] The server returns a response containing the URL of a page with more detailed information, and the device redirects the user to the appropriate page based on this URL. This allows the user to purchase or download additional information.
[1220] Input: Request data from the terminal
[1221] Output: Response data including the corresponding URL
[1222] (Application Example 2)
[1223] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1224] In recent years, with the advent of digitalization, there has been a growing need to process large amounts of information quickly and utilize it efficiently. However, the process of users extracting and summarizing necessary information from vast amounts of digital files is extremely cumbersome, and the resulting summaries are uniform and do not take into account the individual feelings and interests of users, resulting in insufficient information provision. On the other hand, even in physical stores such as bookstores, it is difficult for users to immediately obtain summaries or detailed information about books they are interested in. This leads to the problem of users having to spend a lot of time and effort gathering information.
[1225] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for uploading digital files to the server, means for analyzing the uploaded files and extracting text, means for analyzing important parts from the extracted text and generating a summary, means for recognizing the user's emotions in real time and changing the presentation method of the summary and recommendations of detailed information based on the results, means for automatically generating new figures and tables as needed, means for providing the generated summaries and figures and tables in a subscribeable format, and means including a pathway for purchasing detailed information and accessing related materials. As a result, users can obtain summaries of books in a short time and receive personalized information based on their emotions.
[1226] A "digital file" refers to documents and materials that are stored in electronic format.
[1227] A "server" is a computer that stores and manages data on a network and provides data in response to requests from clients.
[1228] "Extracting text" refers to the process of extracting characters or sentences from a digital file.
[1229] "Generating a summary" means extracting the most important parts from the entire text and creating a short, concise summary.
[1230] "Recognizing emotions in real time" means instantly determining the user's emotions at that moment from their facial expressions, voice, and other factors.
[1231] "Recommendation" refers to suggesting relevant information or products based on a user's preferences and behavioral history.
[1232] "Charts and graphs" are graphs and tables used to visually represent data and information.
[1233] A "subscribeable format" refers to a format that allows users to register to receive updates on the information.
[1234] "User flow" refers to interface elements such as links and buttons that guide users to take their next action.
[1235] "Natural language processing technology" refers to the technology that enables computers to understand, generate, and analyze human language.
[1236] This invention combines a system that quickly extracts important information from digital files and generates summaries with an emotion engine that recognizes the user's emotions. Specifically, the system is configured as follows:
[1237] The user first uploads digital files (e.g., PDF, Word, PPT, etc.) to the server using their device. The user selects files either through a file selection dialog in their browser or by dragging and dropping. The device then sends the selected digital files to the server as an HTTP request.
[1238] The server determines the file format and extracts text from the file using either a PDF parsing library (for PDF files) or a Word parsing library (for Word files). For PDF files, pdfplumber is used, and for Word files, python-docx is used. The extracted text is temporarily stored in storage.
[1239] Next, the server uses natural language processing (NLP) techniques to pre-process the extracted text. This processing includes sentence splitting, stop word removal, and stemming. This formats the text data into a format that is easy to analyze.
[1240] For pre-processed text, a Transformer-based summarization model is used to extract key parts and generate a summary. This summary generation utilizes a pre-trained T5 model and its tokenizer, T5Tokenizer. After summary generation, a Bert-based sentiment recognition model and its tokenizer are used to recognize the user's sentiment in real time. This allows the system to capture the user's sentiment data, which is then reflected in how the summary is presented and in the recommendations for detailed information.
[1241] For example, when a user scans a promotional PDF sample of a book that interests them in a bookstore, the server extracts text from the PDF file and generates a summary. At the same time, if the user's sentiment is detected as "interesting," further details and recommendations for related books are provided. Conversely, if it is detected as "boring," measures such as suggesting a different book are taken.
[1242] The generated summaries and figures are provided to the user in a subscribeable format, allowing the user to choose their next action based on the summary information. Links to purchase more detailed information and access related materials are also provided, enabling users to quickly check the parts that interest them.
[1243] Examples of specific prompt messages include the following:
[1244] "Generate a summary of this book, and if the user is interested, display a link to provide more information. If the sentiment is positive, also recommend related books. If the sentiment is negative, suggest that the user look for a different book."
[1245] Thus, the present invention enables users to efficiently grasp vast amounts of information and receive personalized information based on their emotions.
[1246] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1247] Step 1:
[1248] The user uploads digital files to the server using their device. Specifically, they select files using a file selection dialog in their browser or by dragging and dropping. After uploading, the device sends the selected digital files to the server as an HTTP request. The input is the digital files and their metadata, and the output is these being uploaded to the server.
[1249] Step 2:
[1250] The server determines the format of the received digital file. If it's a PDF file, it uses the PDF parsing library; if it's a Word file, it uses the Word parsing library. For example, it uses the pdfplumber library for PDF files and the python-docx library for Word files to extract text from the file. The input is the uploaded file, and the output is the extracted text data.
[1251] Step 3:
[1252] The server preprocesses the extracted text using natural language processing (NLP) techniques. Specifically, it performs processes such as sentence splitting, stop word removal, and stemming. This results in text data in a format that is easy to analyze. The input is the extracted text, and the output is the preprocessed text data.
[1253] Step 4:
[1254] The server runs a Transformer-based summarization model (e.g., a T5 model) on pre-processed text to generate a summary. The input is the pre-processed text, and the output is the generated summary. This includes the specific actions of tokenizing the text using T5Tokenizer and generating the summary with the T5 model.
[1255] Step 5:
[1256] The server runs an emotion recognition engine to recognize the user's emotions in real time. This engine uses a Bert-based emotion recognition model to estimate emotions from the user's facial expressions, voice data, text data, etc. The input is real-time user data or summarized text, and the output is estimated emotion data.
[1257] Step 6:
[1258] The server adjusts how summaries are displayed and recommends detailed information based on sentiment data. For example, if it detects "interesting," it recommends links to detailed information and related materials. If it detects "boring," it highlights parts of the summary and provides a concise summary. The input is estimated sentiment data, and the output is adjusted summary information and recommendation information.
[1259] Step 7:
[1260] The server provides the generated summaries and figures in a subscribeable format. This includes purchase links for more information and links to related materials. Users can immediately view or purchase more information by clicking on the provided links. The input is the tailored summary and recommendation information, and the output is the information provided in a subscribeable format.
[1261] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1262] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1263] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1264] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1265] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1266] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1267] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1268] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1269] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1270] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1271] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1272] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1273] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1274] 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.
[1275] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1276] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1277] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1278] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1279] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1280] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1281] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1282] The following is further disclosed regarding the embodiments described above.
[1283] (Claim 1)
[1284] [Methods for uploading digital files to a server,
[1285] [Methods for analyzing uploaded files and extracting text,
[1286] [Means for analyzing important parts from extracted text and generating a summary,
[1287] [Means for automatically generating new figures and tables as needed,
[1288] [Means of providing the generated summaries and figures in a subscribeable format,
[1289] [Means including pathways that provide access to the purchase of detailed information and related materials,
[1290] A system that includes this.
[1291] (Claim 2)
[1292] [The system according to claim 1, which determines the type of digital file and extracts text using an appropriate library.
[1293] (Claim 3)
[1294] [The system according to claim 1, which preprocesses text using natural language processing technology.
[1295] "Example 1"
[1296] (Claim 1)
[1297] [Methods for uploading digital data via a network,
[1298] [Methods for analyzing uploaded data and extracting textual information,
[1299] [Methods for analyzing important parts from extracted textual information and generating a summary,
[1300] [Means for automatically generating new graphic data as needed,
[1301] [Means for providing the generated summary and graphic data in an usable format,
[1302] [Means of providing detailed information and access to related additional information,
[1303] A system that includes this.
[1304] (Claim 2)
[1305] [The system according to claim 1, which determines the format of digital data and extracts character information using an appropriate method.
[1306] (Claim 3)
[1307] [The system according to claim 1, which preprocesses character information using automated processing technology.
[1308] "Application Example 1"
[1309] (Claim 1)
[1310] [Methods for uploading digital files to a server,
[1311] [Methods for analyzing uploaded files and extracting text,
[1312] [Means for analyzing important parts from extracted text and generating a summary,
[1313] [Means for automatically generating new figures and tables as needed,
[1314] [Means of providing the generated summaries and figures in a subscribeable format,
[1315] [Means including pathways that provide access to the purchase of detailed information and related materials,
[1316] [Means for displaying the generated summary and related link information on the user's display device,
[1317] A system that includes this.
[1318] (Claim 2)
[1319] [The system according to claim 1, which determines the type of digital file and extracts text using an appropriate library.
[1320] (Claim 3)
[1321] [The system according to claim 1, which preprocesses text using natural language processing technology.
[1322] "Example 2 of combining an emotion engine"
[1323] (Claim 1)
[1324] [Methods for uploading digital files to a server,
[1325] [Methods for analyzing uploaded files and extracting text,
[1326] [Means for analyzing important parts from extracted text and generating a summary,
[1327] [A means of recognizing user emotions in real time and recommending information based on emotion data,
[1328] [Means for automatically generating new figures and tables as needed,
[1329] [Means of providing the generated summaries and figures in a subscribeable format,
[1330] [Means including pathways that provide access to the purchase of detailed information and related materials,
[1331] A system that includes this.
[1332] (Claim 2)
[1333] [The system according to claim 1, which determines the type of digital file and extracts text using an appropriate library.
[1334] (Claim 3)
[1335] [The system according to claim 1, which preprocesses text using natural language processing technology.
[1336] (Claim 4)
[1337] [The system according to claim 1, which adjusts the presentation method of the generated summary based on the user's sentiment data.
[1338] "Application example 2 of combining emotional engines"
[1339] (Claim 1)
[1340] [Methods for uploading digital files to a server,
[1341] [Methods for analyzing uploaded files and extracting text,
[1342] [Means for analyzing important parts from extracted text and generating a summary,
[1343] [Means for recognizing user emotions in real time and changing the way summaries are presented and the recommendation of detailed information based on the results,
[1344] [Means for automatically generating new figures and tables as needed,
[1345] [Means of providing the generated summaries and figures in a subscribeable format,
[1346] [Means including pathways that provide access to the purchase of detailed information and related materials,
[1347] A system that includes this.
[1348] (Claim 2)
[1349] [The system according to claim 1, which determines the type of digital file and extracts text using an appropriate library.
[1350] (Claim 3)
[1351] [The system according to claim 1, which preprocesses text using natural language processing technology. [Explanation of symbols]
[1352] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. Methods for uploading digital files to a server, A means to analyze the uploaded file and extract the text, A means for analyzing important parts from extracted text and generating a summary, A means to automatically generate new charts and graphs as needed, A means of providing the generated summaries and figures in a subscribeable format, Means including pathways that provide access to purchases of detailed information and related materials, A system that includes this.
2. The system according to claim 1, which determines the type of digital file and extracts text using an appropriate library.
3. The system according to claim 1, which preprocesses text using natural language processing technology.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A