System
The system addresses the complexity of 3D modeling in metaverse platforms by allowing users to create and manipulate 3D spaces using natural language, enhancing user experience and accessibility.
Patent Information
- Application Number
- JP2024121492
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2026-02-05
AI Technical Summary
Conventional metaverse platforms require advanced 3D modeling skills and complex operations, making them difficult for beginners and users with little technical knowledge to express themselves in three-dimensional space, leading to a poor user experience.
A system that receives natural language text, analyzes it to extract user intent, generates 3D objects, and displays them on a user interface, allowing users to easily create and manipulate 3D spaces without specialized skills, with the option to save and recall created spaces.
Lowers the barrier to entry for the metaverse by enabling intuitive 3D space creation and manipulation using natural language, improving user experience and accessibility.
Smart Images

Figure 2026019744000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional metaverse platforms require advanced 3D modeling technology and complex operations for users to express themselves in three-dimensional space, making entry difficult, especially for beginners and users with little technical knowledge. This has hindered the widespread adoption of the metaverse. Furthermore, generating and placing 3D objects requires a great deal of time and effort, and intuitive operation is difficult, resulting in a poor user experience. [Means for solving the problem]
[0005] The present invention provides a means for receiving natural language text, analyzing the text to extract user intent, and automatically generating a 3D object based on the extracted keywords and intent. Furthermore, by providing a system including a means for appropriately arranging the generated 3D object and displaying it on the user's device through a user interface, users can easily express themselves in a 3D space without having special 3D modeling skills. Furthermore, by including a means for saving the generated 3D object and spatial data in a database, users can easily recall the space they created when revisiting it. This lowers the barrier to entry for the metaverse and improves the user experience.
[0006] "Natural language text" refers to a string of characters entered by a user in natural language, such as a sentence or phrase.
[0007] "Means for receiving" refers to a set of hardware and software components for receiving and processing data sent from a user's terminal.
[0008] "Means for analyzing" refers to a system that has the technology to perform syntactic and semantic analysis of received natural language text.
[0009] "Keywords" refer to important words and phrases extracted from natural language text that serve as instructions for generating 3D objects.
[0010] "Intent" refers to the specific request or purpose that a user is trying to express through natural language text.
[0011] "Generating means" refers to software and algorithms for creating new three-dimensional objects based on the analyzed keywords and intent.
[0012] "Means for placing" refers to a technique for appropriately placing a generated three-dimensional object at a specified position.
[0013] "User interface" refers to components such as a screen and input devices that allow a user to interact with a system.
[0014] "Means for displaying" refers to the technology used to visually display information or three-dimensional objects on a user's device.
[0015] The term "system" refers to a comprehensive configuration of a series of software and hardware including each of the above means.
[0016] A "natural language processing engine" refers to a collection of algorithms and technologies for analyzing natural language text and understanding its meaning and intent.
[0017] "Database" refers to a data storage system for persistently storing generated 3D objects and spatial data.
[0018] "JSON format" stands for JavaScript Object Notation and refers to a standard way of representing data in a lightweight, easy-to-read format. [Brief explanation of the drawings]
[0019] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6]FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0020] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0021] First, the terms used in the following description will be explained.
[0022] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0023] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0024] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0025] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0027] [First embodiment]
[0028] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0029] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0030] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0031] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0032] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0033] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0034] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0035] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0037] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0038] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0039] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0040] The system according to the present invention allows users to easily create and manipulate three-dimensional space using natural language text, and the specific program processing for this purpose will be described below.
[0041] 1. Actions taken by the user's device
[0042] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[0043] 2. Receipt and analysis by the server
[0044] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It records this data in a log and passes it to a natural language processing (NLP) engine to begin analysis.
[0045] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. Based on this, the object IDs of related 3D objects (ocean background, cafe building) are retrieved from the database.
[0046] 3. Generating 3D models
[0047] Based on the extracted keywords and the object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the generated 3D data is placed in the appropriate position.
[0048] 4. Saving to the database and generating a response
[0049] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0050] 5. Display on the user's device
[0051] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. This allows the user to visually confirm and manipulate the 3D space of their desired "seaside cafe."
[0052] Specific examples
[0053] Example: Building a seaside cafe
[0054] On the user's device:
[0055] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[0056] server:
[0057] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The object IDs for each are then retrieved from the database and passed to the 3D model generation engine.
[0058] 3D model generation:
[0059] The 3D model generation engine generates 3D models of the specified background and buildings and places them in the appropriate positions.
[0060] Data storage and response generation:
[0061] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0062] On the user's device:
[0063] The device draws a 3D space based on the data it receives and displays it to the user.
[0064] In this way, the system of the present invention can intuitively generate, arrange, and display three-dimensional space using natural language, and is extremely useful, especially for users who are unfamiliar with three-dimensional operations.
[0065] The processing flow will be explained below.
[0066] Specific processing flow of the program
[0067] User operations and device behavior
[0068] Step 1:
[0069] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[0070] Step 2:
[0071] The user clicks the submit button, which causes the device to convert the entered text into JSON format and send an HTTP request to the appropriate API endpoint.
[0072] Server reception and initial processing
[0073] Step 3:
[0074] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[0075] Step 4:
[0076] The server passes the extracted natural language text to a natural language processing engine (NLP engine), which starts text analysis.
[0077] How the natural language processing engine works
[0078] Step 5:
[0079] The natural language processing engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[0080] Step 6:
[0081] The NLP engine uses the extracted keywords to retrieve the IDs of related 3D objects from the database. For example, it retrieves the object IDs of the seascape background and the cafe building.
[0082] How the 3D model generation engine works
[0083] Step 7:
[0084] The server passes the acquired object ID to the 3D model generation engine and instructs it to generate a 3D model based on this.
[0085] Step 8:
[0086] The 3D model generation engine generates the corresponding 3D model (ocean background, cafe building) based on the specified object ID and places it in the appropriate position.
[0087] Server data storage and response generation
[0088] Step 9:
[0089] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily recall the created space when revisiting.
[0090] Step 10:
[0091] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[0092] Final processing on the user's device
[0093] Step 11:
[0094] The user's device receives the JSON data returned from the server.
[0095] Step 12:
[0096] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render the 3D space, which is then visually displayed to the user.
[0097] Example 1
[0098] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0099] Conventional 3D space generation systems require specialized knowledge and skills, making them difficult for general users to use. It is also difficult to directly understand the user's natural language text and reflect it in the 3D space. Furthermore, there are issues with appropriate methods for saving and displaying the generated 3D space so that it can be reused and managed.
[0100] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0101] In this invention, the server includes means for analyzing received JSON data and extracting keywords and intent, means for retrieving related data from a database based on the extracted keywords and intent, and means for generating a three-dimensional object based on the retrieved data, thereby enabling a user to easily generate and operate a three-dimensional space using natural language.
[0102] "Natural language text" refers to sentences and phrases written in a language that a user uses on a daily basis.
[0103] "JSON format" is an abbreviation for JavaScript Object Notation, and is a data exchange format for expressing data in a format that is easy for humans to read and easy for machines to analyze.
[0104] A "server" is a computer that provides services and resources to other computers (clients) on a network.
[0105] A "natural language processing engine" is software that provides technology to analyze text written in natural language and understand its grammatical structure and meaning.
[0106] "Keywords" are meaningful and important words or phrases extracted from natural language text.
[0107] "Intent" refers to the purpose or desire that a user intends to convey through natural language text.
[0108] A "database" is a system for organizing and managing digital data and for efficiently searching and editing it.
[0109] A "3D object" is digital data that has a position and shape in space and is expressed in three-dimensional space.
[0110] A "user interface" is an interface through which a user interacts with a computer or software.
[0111] A "user ID" is an identifier that uniquely identifies a specific user.
[0112] A "3D rendering engine" is software for visually rendering three-dimensional data.
[0113] This invention relates to a system that allows users to easily create and manipulate three-dimensional space using natural language text. This system receives the user's natural language text, analyzes it, generates and places related three-dimensional objects, and performs various processes required to display the results on the user's device.
[0114] A user enters natural language text into an input field displayed on the user interface (UI) of their device. When the user completes the text entry and clicks the send button, the device converts this text data into JSON format and sends it to the server. The hardware used here includes personal computers, smartphones, tablets, etc. The software used is a web browser or a special client application.
[0115] The server receives the JSON data sent from the device. This data contains natural language text representing the user's request. This data is first logged and then passed to a natural language processing (NLP) engine, which performs syntactic and semantic analysis of the input text to extract keywords and intent. This can use software such as Google Cloud's Natural Language API or OpenAI's GPT model.
[0116] Based on the extracted keywords and intent, the server retrieves the object IDs of related 3D objects from a database. Databases such as MongoDB and MySQL are used for this purpose. For example, if the keywords "beach" and "cafe" are extracted, the corresponding object IDs (ocean background, cafe building) are retrieved from the database.
[0117] The server issues model generation instructions to a 3D model generation engine, such as Unity or Unreal Engine. The 3D model generation engine generates 3D data with the required shapes and attributes for the specified objects (e.g., ocean background, cafe building), and places them in the appropriate positions.
[0118] The generated 3D data is stored in the server's database, associated with the user ID. This makes it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0119] The user's device receives and analyzes the JSON data returned by the server. The device's 3D rendering engine (e.g., WebGL) then renders the 3D space based on this data, allowing the user to visually confirm and manipulate the 3D space of their desired "beachside cafe."
[0120] For example, a user enters "I want to create a seaside cafe" in the text input field and clicks the submit button. The system then executes the above process, and the 3D space is finally displayed on the user's device. In this way, the user can intuitively create and manipulate 3D spaces.
[0121] An example prompt is:
[0122] Enter "I want to create a seaside cafe" and click the submit button.
[0123] This system allows even users who are unfamiliar with 3D operations to easily generate and manipulate 3D spaces, and is expected to be widely used.
[0124] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0125] Step 1: User inputs natural language text
[0126] The user inputs natural language text into an input field displayed on the device's user interface (UI). For example, the user might input "I want to build a seaside cafe." This text input becomes the input for processing. When the user clicks the send button, the input text data is sent.
[0127] Step 2: Convert and send text data via your device
[0128] The terminal receives the text data entered by the user and converts it to JSON format, which looks like this:
[0129] json
[0130] {
[0131] "user_id": "12345",
[0132] "request": "I want to build a seaside cafe"
[0133] }
[0134] This JSON data is sent to the server. The input is the user's text and user ID, and the output is JSON format data.
[0135] Step 3: The server receives and analyzes the text data
[0136] The server receives JSON data sent from the device. The received data contains natural language text expressing the user's request. This data is logged. The server then passes the text to a natural language processing (NLP) engine to begin analysis. For example, Google Cloud's Natural Language API or OpenAI's GPT model is used as the NLP engine. The input is the received JSON data, and the output is the analysis results (extracted keywords and intent).
[0137] Step 4: Keyword extraction and database query by the server
[0138] The server obtains the extracted keywords and intent based on the analysis results of the NLP engine. In this example, the keywords "beach" and "cafe" are extracted. Next, the server obtains the object IDs of related 3D objects from a database based on these keywords. For example, MongoDB or MySQL is used as the database. The input is the extracted keywords, and the output is the corresponding object ID.
[0139] Step 5: Generate a model using the 3D model generation engine
[0140] Based on the acquired object ID, the server issues model generation instructions to the 3D model generation engine. For example, Unity or Unreal Engine is used as the 3D model generation engine. The generation engine generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes, and places it in the appropriate position. The input is the object ID, and the output is the generated 3D model data.
[0141] Step 6: Server saves generated data and generates response
[0142] The server stores the generated 3D data in a database, associating it with the user ID. This allows the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device. The following JSON data is created:
[0143] json
[0144] {
[0145] "user_id": "12345",
[0146] "3d_scene": {
[0147] "background": "sea_background.obj",
[0148] "objects": ["cafe_building.obj"]
[0149] }
[0150] }
[0151] The input is the generated 3D model data, and the output is the JSON data for the response.
[0152] Step 7: Analyze the received data on the device and display the 3D space
[0153] The device receives the JSON data returned from the server. It analyzes this data and uses the device's built-in 3D rendering engine (e.g., WebGL) to render the 3D space. The user can visually check and manipulate the 3D space of the desired "seaside cafe" on the device's UI. The input is the received JSON data, and the output is the displayed 3D space.
[0154] (Application example 1)
[0155] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0156] In conventional 3D space generation systems, it has been difficult for users to intuitively operate and generate 3D spaces using natural language. It has also been difficult to generate a virtual reality space that provides users with an interactive experience based on a specific theme. The present invention aims to solve these problems and provide a system that enables users to easily generate a store in a virtual reality space and provide an interactive experience based on a specific theme.
[0157] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0158] In this invention, the server includes means for receiving natural language text, means for analyzing the received natural language text and extracting keywords and intent, means for generating a three-dimensional object based on the extracted keywords and intent, means for arranging the generated three-dimensional object in a three-dimensional space, means for displaying the three-dimensional space on a user's terminal through a user interface, and means for generating a store in a virtual reality space based on a request from the user and providing an interactive experience based on a specific theme. This allows a user to easily generate a virtual store based on a specific theme using natural language and provide an interactive shopping experience.
[0159] "Natural language text" refers to text entered in a language format that is commonly used by users.
[0160] "Parsing" is the process of syntactically and semantically breaking down and understanding received natural language text.
[0161] "Keywords" refer to important words or phrases extracted from received natural language text that convey a particular meaning or intent.
[0162] "Intent" refers to the purpose or desire that a user wishes to express through natural language text.
[0163] A "3D object" is data that has a three-dimensional shape in digital space.
[0164] "Three-dimensional space" refers to a virtual space that has three dimensions: width, height, and depth.
[0165] "User interface" refers to the operation screen and input means that serve as the entry point for the user to interact with the system.
[0166] "Terminal" refers to a device through which a user accesses the system, and examples include smartphones and tablets.
[0167] A "virtual reality space" is a space in which users can experience a virtually generated three-dimensional digital environment.
[0168] "Store" means a digital location designed to offer goods and services within a virtual reality space.
[0169] A "theme" refers to a consistent concept or style when designing a virtual reality space or store.
[0170] An "interactive experience" is a two-way experience in which the user actively participates through interaction with the system.
[0171] This invention provides a system that allows users to intuitively create a store based on a specific theme in a virtual reality space using natural language text, providing an interactive experience. This system will be described in detail below.
[0172] First, a user uses a device such as a smartphone or tablet to input natural language text into a text input field within the application. For example, they might input, "I want to create a virtual store that sells clothes with a seaside theme." By sending this text, the device converts the text data into JSON format and sends it to the server.
[0173] The server receives the JSON data sent from the device, which contains natural language text expressing the user's request. It logs this data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this specific example, the keywords "beach," "clothes," and "virtual store" are extracted, and based on these, the object IDs of related 3D objects (e.g., ocean background, shelves displaying clothes) are retrieved from the database.
[0174] Next, the 3D model generation engine generates a 3D model based on the extracted keywords and object IDs obtained from the database. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes and placed in the appropriate position.
[0175] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0176] The device receives and analyzes the JSON data returned from the server. It then uses the device's built-in 3D rendering engine (using WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[0177] For example, if a user inputs "I want to create a virtual store selling books with a city theme," a virtual store will be created that generates a 3D model of the cityscape and bookshelves. In this way, interactive theme setting is possible based on the user's natural language input, making it easy to create virtual stores that suit a variety of scenes.
[0178] This invention is a system that uses an NLP engine to analyze natural language text, a 3D model generation engine to generate specified 3D objects, a database to store and manage the generated data, and a rendering engine such as WebGL or Unity to render the 3D space, thereby providing users with a rich interactive experience.
[0179] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0180] Step 1:
[0181] A user inputs natural language text into a text input field in the application using a smartphone or tablet. This input is text that includes a description of the 3D space the user desires, such as "I want to create a virtual store selling clothes with a seaside theme." The input text is then sent to the server in JSON format by clicking the submit button.
[0182] (input)
[0183] The user's natural language text input.
[0184] (output)
[0185] Text data in JSON format.
[0186] Step 2:
[0187] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It logs this data and passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent.
[0188] (input)
[0189] Text data in JSON format.
[0190] (output)
[0191] Keywords and intent as analysis results.
[0192] Step 3:
[0193] The server retrieves object IDs of related 3D objects from the database based on the keywords and intent extracted by the NLP engine. Specifically, object IDs corresponding to the keywords "beach," "clothes," and "virtual store" are retrieved from the database.
[0194] (input)
[0195] Keywords and Intent.
[0196] (output)
[0197] The corresponding object ID.
[0198] Step 4:
[0199] The server passes the acquired object IDs to the 3D model generation engine, which then generates a 3D model based on them. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes.
[0200] (input)
[0201] Object ID.
[0202] (output)
[0203] 3D model data.
[0204] Step 5:
[0205] The generated 3D model data is associated with the user ID and saved in the server database, making it easy for users to access the space they created when they log in again.
[0206] (input)
[0207] 3D model data, user ID.
[0208] (output)
[0209] Data stored in a database.
[0210] Step 6:
[0211] The server compiles the generated 3D space information in JSON format and returns it to the user's device, including information about the 3D space's configuration and object positions.
[0212] (input)
[0213] 3D model data.
[0214] (output)
[0215] 3D spatial information in JSON format.
[0216] Step 7:
[0217] The user's device receives the JSON data returned from the server. The device analyzes this data and uses a built-in 3D rendering engine (e.g., WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[0218] (input)
[0219] 3D spatial information in JSON format.
[0220] (output)
[0221] 3D space displayed on the device.
[0222] Through the above steps, users can easily use natural language to create a virtual store based on a specific theme and provide an interactive shopping experience.
[0223] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0224] The system of the present invention allows users to easily create and manipulate three-dimensional spaces using natural language text. The following describes the specific program processing that recognizes the user's emotions and generates spaces based on those emotions.
[0225] 1. Actions taken by the user's device
[0226] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[0227] 2. Receipt and analysis by the server
[0228] The server receives the JSON data sent from the device, extracts the natural language text from the request body, logs this text data, and passes it to the natural language processing (NLP) engine for analysis.
[0229] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In a specific example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. In parallel, the emotion engine analyzes the user's emotions. For example, it determines whether the user's input reflects joy or sadness.
[0230] 3. Emotion-Based Adjustment
[0231] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, sadness, excitement, etc.), the server dynamically adjusts the characteristics and placement of the 3D object. For example, if a user expresses joy by saying, "I want to create a seaside cafe," the server selects a bright background and a lively cafe design.
[0232] 4. Generating 3D models
[0233] Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine, which then generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[0234] 5. Saving to the database and generating a response
[0235] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0236] 6. Display on the user's device
[0237] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[0238] Specific examples
[0239] Example: Building a seaside cafe
[0240] On the user's device:
[0241] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[0242] server:
[0243] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The emotion engine also recognizes that the user is excited.
[0244] 3D model generation:
[0245] The 3D model generation engine generates 3D models of the specified background and buildings, and adjusts them into colorful and vibrant designs based on emotions.
[0246] Data storage and response generation:
[0247] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0248] On the user's device:
[0249] The device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches the user's emotions.
[0250] In this way, the system of the present invention uses natural language and emotion recognition to create and display an intuitive and personalized three-dimensional space.
[0251] The processing flow will be explained below.
[0252] MODE FOR CARRYING OUT THE INVENTION
[0253] Specific processing flow of the program
[0254] Step 1:
[0255] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[0256] Step 2:
[0257] The user clicks the submit button, which causes the device to convert the entered text data into JSON format and send an HTTP request to the appropriate API endpoint.
[0258] Server reception and initial processing
[0259] Step 3:
[0260] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[0261] Step 4:
[0262] The server passes the extracted natural language text to a natural language processing (NLP) engine to begin analysis. At the same time, the text data is passed to an emotion engine for sentiment analysis.
[0263] Natural Language Processing and Sentiment Analysis
[0264] Step 5:
[0265] The NLP engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[0266] Step 6:
[0267] The emotion engine analyzes the user's emotional state from the text. For example, emotions such as "joy" and "excitement" are recognized.
[0268] Step 7:
[0269] The NLP engine retrieves the IDs of related 3D objects from the database based on the extracted keywords, returning the object IDs for "seaside background" and "cafe building."
[0270] 3D model generation and adjustment
[0271] Step 8:
[0272] The server passes the acquired object ID and the user's emotional state to the 3D model generation engine, and instructs it to generate and adjust the 3D model based on this.
[0273] Step 9:
[0274] The 3D model generation engine generates a corresponding 3D model based on the specified object ID. The color and design of the generated model are changed based on the analysis results of the emotion engine. For example, if the user is expressing "joy," bright colors are used.
[0275] Data storage and response generation
[0276] Step 10:
[0277] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily access the previously generated space when they access it again.
[0278] Step 11:
[0279] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[0280] Final processing on the user's device
[0281] Step 12:
[0282] The user's device receives the JSON data returned from the server.
[0283] Step 13:
[0284] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render a 3D space based on the received data. The rendered space reflects an optimal design based on the user's input and emotions, allowing the user to visually experience a customized 3D space that matches their emotions.
[0285] Example 2
[0286] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0287] Conventional 3D space generation systems make it difficult for users to intuitively design spaces and create spaces that respond to a variety of emotions. In addition, design changes and space adjustments that take user emotions into account are performed manually, which presents a challenge in that they cannot respond quickly and flexibly.
[0288] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0289] In this invention, the server includes means for a user to input natural language text, means for converting the input natural language text into JSON format and transmitting the JSON format to the server, means for analyzing the natural language text received by the server and extracting keywords and intent, means for recognizing the user's emotion based on the analyzed text, means for generating a three-dimensional object based on the user's emotion and the extracted keywords, and means for dynamically arranging the generated three-dimensional object in a three-dimensional space and visually displaying it on the user's terminal through a user interface, thereby enabling the user to intuitively generate and display a personalized three-dimensional space based on the natural language text and emotion.
[0290] "Natural language text" refers to text data that a user inputs in everyday language.
[0291] "JSON format" is an abbreviation for JavaScript Object Notation, and is a format for describing and structuring data in text format.
[0292] A "server" refers to a computer system that provides services and processes data for other computers on a network.
[0293] "Keywords" refer to important words or phrases extracted from natural language text.
[0294] "Intention" refers to the purpose or content that a user is trying to communicate, as analyzed from natural language text.
[0295] "NLP engine" is an abbreviation for natural language processing engine, and refers to software that performs syntactic and semantic analysis of text.
[0296] "Emotion engine" refers to a software engine for recognizing a user's emotional state through text analysis.
[0297] A "three-dimensional object" refers to digital data that has a three-dimensional shape and attributes on a computer.
[0298] "Three-dimensional space" refers to a virtual space defined by a three-dimensional coordinate system.
[0299] "User interface" refers to the interface through which a user accesses and operates a system.
[0300] A "database" refers to a storage system for systematically managing and storing data.
[0301] The system of the present invention allows users to intuitively create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions. Specific implementation methods for this system are described below.
[0302] First, the user inputs natural language text using the terminal. The terminal has a user interface (UI) that displays a field for inputting natural language text. For example, the user might input "I want to build a seaside cafe." When the user clicks the send button, this text data is converted into JSON format and sent from the terminal to the server.
[0303] The server receives this JSON data using a protocol such as a REST API or WebSocket. It extracts natural language text from the received JSON data and records it in a log. It then analyzes the text using a Natural Language Processing (NLP) engine to extract keywords and user intent. For example, the Python libraries nltk and spaCy can be used for this analysis. For example, the keywords "beach" and "cafe" are extracted.
[0304] At the same time, the server uses an emotion engine to analyze the user's emotions. This analysis can utilize emotion analysis libraries such as TextBlob and VADER (Valence Aware Dictionary and sEntiment Reasoner). The analysis results determine whether the user's input reflects joy or sadness. For example, the server determines that the user's input reflects joy.
[0305] Next, the server dynamically adjusts the characteristics and placement of the 3D object based on the analysis results of the NLP engine and emotion engine. This is done using a 3D model generation engine (e.g., Blender or Unity for 3D modeling). The 3D model generation engine receives instructions from the server and generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes. It also adjusts the color and design based on the emotion.
[0306] The generated 3D data is associated with the user ID and stored in a database, which can be, for example, an SQL database or a NoSQL database (e.g., MySQL, MongoDB).
[0307] After the data is saved, the server compiles the generated 3D space information into JSON format and sends it back to the user's device. The user's device receives this JSON data and uses the device's built-in 3D rendering engine (e.g., WebGL) to draw the 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[0308] Specific examples
[0309] Example prompt sentence:
[0310] The user enters "I want to build a seaside cafe" in the text input field and clicks the submit button.
[0311] The server receives this text and analyzes it with an NLP engine. As a result of the analysis, the keywords "beach" and "cafe" are extracted, and the emotion engine recognizes that the user is excited.
[0312] The 3D model generation engine generates 3D models of the specified background and buildings, which are then adjusted into colorful and vibrant designs based on emotions.
[0313] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0314] The user's device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches their emotions.
[0315] The system allows users to intuitively create and display personalized 3D spaces based on natural language text and emotions.
[0316] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0317] Step 1:
[0318] A user enters natural language text at a terminal.
[0319] Specific operation: The user enters the text "I want to create a seaside cafe" into the input field displayed on the device's user interface (UI) and clicks the send button.
[0320] Input: Natural language text entered by the user: "I want to build a seaside cafe."
[0321] Output: The terminal converts this text data into JSON format and sends it to the server.
[0322] Step 2:
[0323] The server receives the JSON data and extracts the natural language text.
[0324] Specific operation: The server receives JSON data sent from the device via REST API or WebSocket, extracts natural language text from the received data, and records it in a log.
[0325] Input: JSON format data sent from the terminal.
[0326] Output: The extracted natural language text "I want to build a seaside cafe."
[0327] Step 3:
[0328] The server analyzes the natural language text and extracts keywords and intent.
[0329] How it works: The server uses a natural language processing (NLP) engine to parse and semantically analyze the received text. For analysis, it uses libraries such as nltk and spaCy. For example, it extracts keywords such as "beach" and "cafe."
[0330] Input: Extracted natural language text "I want to build a seaside cafe."
[0331] Output: Extracted keywords "beach" and "cafe", along with the user's intent.
[0332] Step 4:
[0333] The server analyzes the user's emotions using an emotion engine.
[0334] What happens: The server uses an emotion engine (e.g., TextBlob or VADER) to analyze the emotion (happiness, sadness, excitement, etc.) that the text expresses. In this case, it determines that the text expresses happiness.
[0335] Input: Natural language text "I want to build a seaside cafe."
[0336] Output: Identified user emotion (e.g., joy).
[0337] Step 5:
[0338] The server issues instructions to generate a 3D object based on keywords and emotions.
[0339] How it works: The server combines the analysis results of the NLP engine and the emotion engine and issues instructions to the 3D model generation engine. Using 3D modeling tools such as Blender or Unity, the specified objects (ocean background, cafe building) are generated. The color and design are also adjusted based on the emotion.
[0340] Input: Keywords "beach" and "cafe", and user emotion (joy).
[0341] Output: The generated 3D object (seaside background and cafe building).
[0342] Step 6:
[0343] The generated 3D object is stored in a database and associated with a user ID.
[0344] What it does: The server saves the generated 3D object in a database (e.g., MySQL, MongoDB) and associates it with the user ID, so that the saved data can be easily retrieved when the user accesses the system again.
[0345] Input: The generated 3D object and a user ID.
[0346] Output: 3D objects and user information stored in a database.
[0347] Step 7:
[0348] The server sends the three-dimensional spatial information back to the user's device.
[0349] Specific operation: The server compiles the saved data into JSON format and returns it to the user's device.
[0350] Input: A 3D object stored in a database.
[0351] Output: JSON data containing the generated 3D spatial information.
[0352] Step 8:
[0353] The user's device draws a three-dimensional space based on the data received.
[0354] Specific operation: The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to draw a 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[0355] Input: JSON data received from the server.
[0356] Output: 3D space rendered on the user's device.
[0357] (Application example 2)
[0358] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0359] Conventional 3D space generation systems can generate 3D spaces using the user's natural language text, but these spaces are not individually customized based on the user's emotions. This makes it difficult to provide a space that reflects the user's desired atmosphere and experience, and presents the challenge of not being able to provide an optimal 3D space that meets the needs of each individual user.
[0360] The specific processing 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 receiving natural language text, means for analyzing the received natural language text and extracting keywords and intentions, and means for recognizing the emotional state of the user and dynamically adjusting the characteristics and placement of the three-dimensional object based on the emotion. This makes it possible to generate a three-dimensional space customized according to the user's emotion.
[0361] "Natural language text" is text data that has the form of words and sentences that humans use on a daily basis.
[0362] The "receiving means" is a device or software that has the function of receiving data sent from the user's terminal at the server.
[0363] The "analyzing means" is a device or software that has the function of syntactically and semantically analyzing the received natural language text and extracting keywords and intent.
[0364] "Keywords and intent" refers to important words extracted from the input natural language text and the purpose or meaning derived from those words.
[0365] A "three-dimensional object" refers to digital data that has a shape and attributes in three-dimensional space.
[0366] The "generating means" is a device or software that has the function of dynamically generating a three-dimensional object based on the analyzed keywords and intentions.
[0367] "Emotional state" refers to the psychological state a user exhibits when entering natural language text, and includes emotions such as excitement, joy, sadness, etc.
[0368] A "dynamic adjustment means" is a device or software that has the ability to change the characteristics of the generated three-dimensional object, such as its color, placement, and design, in real time according to the user's emotional state.
[0369] "Three-dimensional space" refers to a virtual space in a digital environment that is composed of three dimensions: width, height, and depth.
[0370] The "placement means" refers to a device or software that has the function of placing the generated three-dimensional object at an appropriate position in three-dimensional space.
[0371] "User interface" refers to the screens and methods by which a user interacts with a computer system or application.
[0372] "Terminal" refers to an electronic device that allows a user to input, display, and operate information.
[0373] "Display means" refers to a device or software that has the function of outputting the generated three-dimensional space in a form that can actually be seen on the user's terminal.
[0374] A specific embodiment of the system according to the present invention is described below. This system allows users to easily create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions.
[0375] System Configuration
[0376] The system includes the following main components:
[0377] 1. User device: A device through which a user inputs natural language text, such as a smartphone, tablet, PC, or head-mounted display (HMD).
[0378] 2. Server: A computer system that receives input natural language text and performs analysis and generation. Examples include natural language processing engines (e.g., SpaCy, Bert), emotion engines (e.g., VADER, Hugging Face Transformers), and 3D model generation engines (e.g., Blender, Three.js).
[0379] 3. Database: A system for storing and managing the generated 3D objects and spatial data (e.g., MongoDB, SQLite).
[0380] Program processing overview
[0381] 1. Receiving natural language text
[0382] The user uses the terminal to input natural language text, for example, "I want to create a boutique with an elegant and relaxed atmosphere," and clicks the send button. The terminal converts this text data into JSON format and sends it to the server.
[0383] 2. Receipt and analysis by the server
[0384] The server receives the JSON data sent from the device and extracts the natural language text from the request body. It logs this text data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In parallel, the emotion engine analyzes the user's emotions.
[0385] 3. Emotion-based adjustment and 3D model generation
[0386] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, excitement, calm), the server dynamically adjusts the characteristics and placement of the 3D object. Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates the specified object as 3D data with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[0387] 4. Saving to the database and generating a response
[0388] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0389] 5. Display on the user's device
[0390] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[0391] Specific examples
[0392] Example: An elegant and relaxed boutique
[0393] User's device: The user enters "I want to create a boutique with an elegant and relaxed atmosphere" in the text input field and clicks the send button. The device sends this text to the server.
[0394] Server: The server receives this text and analyzes it using the NLP engine. As a result of the analysis, keywords such as "elegant" and "calm atmosphere" are extracted. The emotion engine also recognizes that the user is in a calm psychological state.
[0395] 3D Model Generation: The 3D model generation engine generates 3D models of the specified background and building, and adjusts the elegant and calm design based on emotions.
[0396] Data storage and response generation: The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0397] User's device: The device draws a 3D space based on the data received, visually displaying to the user a boutique with an elegant and calm atmosphere that matches their emotions.
[0398] In this way, the system of the present invention realizes the generation and display of intuitive and personalized three-dimensional spaces using natural language and emotion recognition.
[0399] Prompt Sentence Examples
[0400] "Generate an elegant and tranquil 3D boutique based on user-entered text. Consider relevant keywords and emotions and incorporate the following elements: color scheme, interior design, displays, and lighting settings."
[0401] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0402] Step 1: Receiving input text
[0403] A user uses a terminal to enter natural language text and clicks the submit button. The terminal converts this text into JSON format and sends it to the server. The input of this step is the user's input text, and the output is JSON formatted data.
[0404] Step 2: Parsing natural language text
[0405] The server receives the JSON data sent from the terminal and extracts the natural language text from the request body. It logs this text data and passes it to the natural language processing engine to begin analysis. The input of this step is JSON-formatted data, and the output is the analysis results including keywords and intent.
[0406] Step 3: Sentiment Analysis
[0407] The server passes the parsed natural language text to an emotion engine to analyze the user's emotional state. Specifically, it determines whether the user is feeling joy, excitement, calm, etc. based on keywords and context extracted from the text. The input of this step is the parsed natural language text, and the output is the user's emotional state.
[0408] Step 4: Instructions for creating 3D objects
[0409] The server issues instructions to the 3D model generation engine based on the analysis results of the NLP engine and emotion engine. The instructions include the type of 3D object to be generated, its placement, and adjustments to color and design based on emotions. The inputs to this step are keywords and emotional states, and the output is generation instructions to the 3D model generation engine.
[0410] Step 5: 3D model generation
[0411] The 3D model generation engine generates 3D data of the specified object with the required shape and attributes according to instructions from the server. In this process, it adjusts the color, placement, and design of the object based on the recognized emotional state. The input to this step is the generation instructions, and the output is the generated 3D object data.
[0412] Step 6: Saving to the Database
[0413] The server associates the generated 3D data with the user ID and stores it in a database. This storage allows the user to easily recall the created 3D space when they return. The input of this step is the generated 3D object data, and the output is a data entry stored in the database.
[0414] Step 7: Generate and return response data
[0415] The server compiles the saved 3D space information in JSON format and sends it back to the user's device. The input of this step is the 3D object data saved in the database, and the output is the response data in JSON format.
[0416] Step 8: Viewing 3D Space
[0417] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user. The input of this step is the response data in JSON format, and the output is a 3D space that the user can visually confirm.
[0418] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0419] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0420] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0421] [Second embodiment]
[0422] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0423] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0424] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0425] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0426] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0427] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0428] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0429] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0430] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0431] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0432] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0433] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0434] The system according to the present invention allows users to easily create and manipulate three-dimensional space using natural language text, and the specific program processing for this purpose will be described below.
[0435] 1. Actions taken by the user's device
[0436] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[0437] 2. Receipt and analysis by the server
[0438] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It records this data in a log and passes it to a natural language processing (NLP) engine to begin analysis.
[0439] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. Based on this, the object IDs of related 3D objects (ocean background, cafe building) are retrieved from the database.
[0440] 3. Generating 3D models
[0441] Based on the extracted keywords and the object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the generated 3D data is placed in the appropriate position.
[0442] 4. Saving to the database and generating a response
[0443] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0444] 5. Display on the user's device
[0445] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. This allows the user to visually confirm and manipulate the 3D space of their desired "seaside cafe."
[0446] Specific examples
[0447] Example: Building a seaside cafe
[0448] On the user's device:
[0449] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[0450] server:
[0451] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The object IDs for each are then retrieved from the database and passed to the 3D model generation engine.
[0452] 3D model generation:
[0453] The 3D model generation engine generates 3D models of the specified background and buildings and places them in the appropriate positions.
[0454] Data storage and response generation:
[0455] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0456] On the user's device:
[0457] The device draws a 3D space based on the data it receives and displays it to the user.
[0458] In this way, the system of the present invention can intuitively generate, arrange, and display three-dimensional space using natural language, and is extremely useful, especially for users who are unfamiliar with three-dimensional operations.
[0459] The processing flow will be explained below.
[0460] Specific processing flow of the program
[0461] User operations and device behavior
[0462] Step 1:
[0463] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[0464] Step 2:
[0465] The user clicks the submit button, which causes the device to convert the entered text into JSON format and send an HTTP request to the appropriate API endpoint.
[0466] Server reception and initial processing
[0467] Step 3:
[0468] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[0469] Step 4:
[0470] The server passes the extracted natural language text to a natural language processing engine (NLP engine), which starts text analysis.
[0471] How the natural language processing engine works
[0472] Step 5:
[0473] The natural language processing engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[0474] Step 6:
[0475] The NLP engine uses the extracted keywords to retrieve the IDs of related 3D objects from the database. For example, it retrieves the object IDs of the seascape background and the cafe building.
[0476] How the 3D model generation engine works
[0477] Step 7:
[0478] The server passes the acquired object ID to the 3D model generation engine and instructs it to generate a 3D model based on this.
[0479] Step 8:
[0480] The 3D model generation engine generates the corresponding 3D model (ocean background, cafe building) based on the specified object ID and places it in the appropriate position.
[0481] Server data storage and response generation
[0482] Step 9:
[0483] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily recall the created space when revisiting.
[0484] Step 10:
[0485] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[0486] Final processing on the user's device
[0487] Step 11:
[0488] The user's device receives the JSON data returned from the server.
[0489] Step 12:
[0490] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render the 3D space, which is then visually displayed to the user.
[0491] Example 1
[0492] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0493] Conventional 3D space generation systems require specialized knowledge and skills, making them difficult for general users to use. It is also difficult to directly understand the user's natural language text and reflect it in the 3D space. Furthermore, there are issues with appropriate methods for saving and displaying the generated 3D space so that it can be reused and managed.
[0494] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0495] In this invention, the server includes means for analyzing received JSON data and extracting keywords and intent, means for retrieving related data from a database based on the extracted keywords and intent, and means for generating a three-dimensional object based on the retrieved data, thereby enabling a user to easily generate and operate a three-dimensional space using natural language.
[0496] "Natural language text" refers to sentences and phrases written in a language that a user uses on a daily basis.
[0497] "JSON format" is an abbreviation for JavaScript Object Notation, and is a data exchange format for expressing data in a format that is easy for humans to read and easy for machines to analyze.
[0498] A "server" is a computer that provides services and resources to other computers (clients) on a network.
[0499] A "natural language processing engine" is software that provides technology to analyze text written in natural language and understand its grammatical structure and meaning.
[0500] "Keywords" are meaningful and important words or phrases extracted from natural language text.
[0501] "Intent" refers to the purpose or desire that a user intends to convey through natural language text.
[0502] A "database" is a system for organizing and managing digital data and for efficiently searching and editing it.
[0503] A "3D object" is digital data that has a position and shape in space and is expressed in three-dimensional space.
[0504] A "user interface" is an interface through which a user interacts with a computer or software.
[0505] A "user ID" is an identifier that uniquely identifies a specific user.
[0506] A "3D rendering engine" is software for visually rendering three-dimensional data.
[0507] This invention relates to a system that allows users to easily create and manipulate three-dimensional space using natural language text. This system receives the user's natural language text, analyzes it, generates and places related three-dimensional objects, and performs various processes required to display the results on the user's device.
[0508] A user enters natural language text into an input field displayed on the user interface (UI) of their device. When the user completes the text entry and clicks the send button, the device converts this text data into JSON format and sends it to the server. The hardware used here includes personal computers, smartphones, tablets, etc. The software used is a web browser or a special client application.
[0509] The server receives the JSON data sent from the device. This data contains natural language text representing the user's request. This data is first logged and then passed to a natural language processing (NLP) engine, which performs syntactic and semantic analysis of the input text to extract keywords and intent. This can use software such as Google Cloud's Natural Language API or OpenAI's GPT model.
[0510] Based on the extracted keywords and intent, the server retrieves the object IDs of related 3D objects from a database. Databases such as MongoDB and MySQL are used for this purpose. For example, if the keywords "beach" and "cafe" are extracted, the corresponding object IDs (ocean background, cafe building) are retrieved from the database.
[0511] The server issues model generation instructions to a 3D model generation engine, such as Unity or Unreal Engine. The 3D model generation engine generates 3D data with the required shapes and attributes for the specified objects (e.g., ocean background, cafe building), and places them in the appropriate positions.
[0512] The generated 3D data is stored in the server's database, associated with the user ID. This makes it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0513] The user's device receives and analyzes the JSON data returned by the server. The device's 3D rendering engine (e.g., WebGL) then renders the 3D space based on this data, allowing the user to visually confirm and manipulate the 3D space of their desired "beachside cafe."
[0514] For example, a user enters "I want to create a seaside cafe" in the text input field and clicks the submit button. The system then executes the above process, and the 3D space is finally displayed on the user's device. In this way, the user can intuitively create and manipulate 3D spaces.
[0515] An example prompt is:
[0516] Enter "I want to create a seaside cafe" and click the submit button.
[0517] This system allows even users who are unfamiliar with 3D operations to easily generate and manipulate 3D spaces, and is expected to be widely used.
[0518] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0519] Step 1: User inputs natural language text
[0520] The user inputs natural language text into an input field displayed on the device's user interface (UI). For example, the user might input "I want to build a seaside cafe." This text input becomes the input for processing. When the user clicks the send button, the input text data is sent.
[0521] Step 2: Convert and send text data via your device
[0522] The terminal receives the text data entered by the user and converts it to JSON format, which looks like this:
[0523] json
[0524] {
[0525] "user_id": "12345",
[0526] "request": "I want to build a seaside cafe"
[0527] }
[0528] This JSON data is sent to the server. The input is the user's text and user ID, and the output is JSON format data.
[0529] Step 3: The server receives and analyzes the text data
[0530] The server receives JSON data sent from the device. The received data contains natural language text expressing the user's request. This data is logged. The server then passes the text to a natural language processing (NLP) engine to begin analysis. For example, Google Cloud's Natural Language API or OpenAI's GPT model is used as the NLP engine. The input is the received JSON data, and the output is the analysis results (extracted keywords and intent).
[0531] Step 4: Keyword extraction and database query by the server
[0532] The server obtains the extracted keywords and intent based on the analysis results of the NLP engine. In this example, the keywords "beach" and "cafe" are extracted. Next, the server obtains the object IDs of related 3D objects from a database based on these keywords. For example, MongoDB or MySQL is used as the database. The input is the extracted keywords, and the output is the corresponding object ID.
[0533] Step 5: Generate a model using the 3D model generation engine
[0534] Based on the acquired object ID, the server issues model generation instructions to the 3D model generation engine. For example, Unity or Unreal Engine is used as the 3D model generation engine. The generation engine generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes, and places it in the appropriate position. The input is the object ID, and the output is the generated 3D model data.
[0535] Step 6: Server saves generated data and generates response
[0536] The server stores the generated 3D data in a database, associating it with the user ID. This allows the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device. The following JSON data is created:
[0537] json
[0538] {
[0539] "user_id": "12345",
[0540] "3d_scene": {
[0541] "background": "sea_background.obj",
[0542] "objects": ["cafe_building.obj"]
[0543] }
[0544] }
[0545] The input is the generated 3D model data, and the output is the JSON data for the response.
[0546] Step 7: Analyze the received data on the device and display the 3D space
[0547] The device receives the JSON data returned from the server. It analyzes this data and uses the device's built-in 3D rendering engine (e.g., WebGL) to render the 3D space. The user can visually check and manipulate the 3D space of the desired "seaside cafe" on the device's UI. The input is the received JSON data, and the output is the displayed 3D space.
[0548] (Application example 1)
[0549] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0550] In conventional 3D space generation systems, it has been difficult for users to intuitively operate and generate 3D spaces using natural language. It has also been difficult to generate a virtual reality space that provides users with an interactive experience based on a specific theme. The present invention aims to solve these problems and provide a system that enables users to easily generate a store in a virtual reality space and provide an interactive experience based on a specific theme.
[0551] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0552] In this invention, the server includes means for receiving natural language text, means for analyzing the received natural language text and extracting keywords and intent, means for generating a three-dimensional object based on the extracted keywords and intent, means for arranging the generated three-dimensional object in a three-dimensional space, means for displaying the three-dimensional space on a user's terminal through a user interface, and means for generating a store in a virtual reality space based on a request from the user and providing an interactive experience based on a specific theme. This allows a user to easily generate a virtual store based on a specific theme using natural language and provide an interactive shopping experience.
[0553] "Natural language text" refers to text entered in a language format that is commonly used by users.
[0554] "Parsing" is the process of syntactically and semantically breaking down and understanding received natural language text.
[0555] "Keywords" refer to important words or phrases extracted from received natural language text that convey a particular meaning or intent.
[0556] "Intent" refers to the purpose or desire that a user wishes to express through natural language text.
[0557] A "3D object" is data that has a three-dimensional shape in digital space.
[0558] "Three-dimensional space" refers to a virtual space that has three dimensions: width, height, and depth.
[0559] "User interface" refers to the operation screen and input means that serve as the entry point for the user to interact with the system.
[0560] "Terminal" refers to a device through which a user accesses the system, and examples include smartphones and tablets.
[0561] A "virtual reality space" is a space in which users can experience a virtually generated three-dimensional digital environment.
[0562] "Store" means a digital location designed to offer goods and services within a virtual reality space.
[0563] A "theme" refers to a consistent concept or style when designing a virtual reality space or store.
[0564] An "interactive experience" is a two-way experience in which the user actively participates through interaction with the system.
[0565] This invention provides a system that allows users to intuitively create a store based on a specific theme in a virtual reality space using natural language text, providing an interactive experience. This system will be described in detail below.
[0566] First, a user uses a device such as a smartphone or tablet to input natural language text into a text input field within the application. For example, they might input, "I want to create a virtual store that sells clothes with a seaside theme." By sending this text, the device converts the text data into JSON format and sends it to the server.
[0567] The server receives the JSON data sent from the device, which contains natural language text expressing the user's request. It logs this data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this specific example, the keywords "beach," "clothes," and "virtual store" are extracted, and based on these, the object IDs of related 3D objects (e.g., ocean background, shelves displaying clothes) are retrieved from the database.
[0568] Next, the 3D model generation engine generates a 3D model based on the extracted keywords and object IDs obtained from the database. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes and placed in the appropriate position.
[0569] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0570] The device receives and analyzes the JSON data returned from the server. It then uses the device's built-in 3D rendering engine (using WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[0571] For example, if a user inputs "I want to create a virtual store selling books with a city theme," a virtual store will be created that generates a 3D model of the cityscape and bookshelves. In this way, interactive theme setting is possible based on the user's natural language input, making it easy to create virtual stores that suit a variety of scenes.
[0572] This invention is a system that uses an NLP engine to analyze natural language text, a 3D model generation engine to generate specified 3D objects, a database to store and manage the generated data, and a rendering engine such as WebGL or Unity to render the 3D space, thereby providing users with a rich interactive experience.
[0573] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0574] Step 1:
[0575] A user inputs natural language text into a text input field in the application using a smartphone or tablet. This input is text that includes a description of the 3D space the user desires, such as "I want to create a virtual store selling clothes with a seaside theme." The input text is then sent to the server in JSON format by clicking the submit button.
[0576] (input)
[0577] The user's natural language text input.
[0578] (output)
[0579] Text data in JSON format.
[0580] Step 2:
[0581] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It logs this data and passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent.
[0582] (input)
[0583] Text data in JSON format.
[0584] (output)
[0585] Keywords and intent as analysis results.
[0586] Step 3:
[0587] The server retrieves object IDs of related 3D objects from the database based on the keywords and intent extracted by the NLP engine. Specifically, object IDs corresponding to the keywords "beach," "clothes," and "virtual store" are retrieved from the database.
[0588] (input)
[0589] Keywords and Intent.
[0590] (output)
[0591] The corresponding object ID.
[0592] Step 4:
[0593] The server passes the acquired object IDs to the 3D model generation engine, which then generates a 3D model based on them. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes.
[0594] (input)
[0595] Object ID.
[0596] (output)
[0597] 3D model data.
[0598] Step 5:
[0599] The generated 3D model data is associated with the user ID and saved in the server database, making it easy for users to access the space they created when they log in again.
[0600] (input)
[0601] 3D model data, user ID.
[0602] (output)
[0603] Data stored in a database.
[0604] Step 6:
[0605] The server compiles the generated 3D space information in JSON format and returns it to the user's device, including information about the 3D space's configuration and object positions.
[0606] (input)
[0607] 3D model data.
[0608] (output)
[0609] 3D spatial information in JSON format.
[0610] Step 7:
[0611] The user's device receives the JSON data returned from the server. The device analyzes this data and uses a built-in 3D rendering engine (e.g., WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[0612] (input)
[0613] 3D spatial information in JSON format.
[0614] (output)
[0615] 3D space displayed on the device.
[0616] Through the above steps, users can easily use natural language to create a virtual store based on a specific theme and provide an interactive shopping experience.
[0617] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0618] The system of the present invention allows users to easily create and manipulate three-dimensional spaces using natural language text. The following describes the specific program processing that recognizes the user's emotions and generates spaces based on those emotions.
[0619] 1. Actions taken by the user's device
[0620] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[0621] 2. Receipt and analysis by the server
[0622] The server receives the JSON data sent from the device, extracts the natural language text from the request body, logs this text data, and passes it to the natural language processing (NLP) engine for analysis.
[0623] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In a specific example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. In parallel, the emotion engine analyzes the user's emotions. For example, it determines whether the user's input reflects joy or sadness.
[0624] 3. Emotion-Based Adjustment
[0625] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, sadness, excitement, etc.), the server dynamically adjusts the characteristics and placement of the 3D object. For example, if a user expresses joy by saying, "I want to create a seaside cafe," the server selects a bright background and a lively cafe design.
[0626] 4. Generating 3D models
[0627] Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine, which then generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[0628] 5. Saving to the database and generating a response
[0629] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0630] 6. Display on the user's device
[0631] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[0632] Specific examples
[0633] Example: Building a seaside cafe
[0634] On the user's device:
[0635] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[0636] server:
[0637] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The emotion engine also recognizes that the user is excited.
[0638] 3D model generation:
[0639] The 3D model generation engine generates 3D models of the specified background and buildings, and adjusts them into colorful and vibrant designs based on emotions.
[0640] Data storage and response generation:
[0641] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0642] On the user's device:
[0643] The device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches the user's emotions.
[0644] In this way, the system of the present invention uses natural language and emotion recognition to create and display an intuitive and personalized three-dimensional space.
[0645] The processing flow will be explained below.
[0646] MODE FOR CARRYING OUT THE INVENTION
[0647] Specific processing flow of the program
[0648] Step 1:
[0649] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[0650] Step 2:
[0651] The user clicks the submit button, which causes the device to convert the entered text data into JSON format and send an HTTP request to the appropriate API endpoint.
[0652] Server reception and initial processing
[0653] Step 3:
[0654] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[0655] Step 4:
[0656] The server passes the extracted natural language text to a natural language processing (NLP) engine to begin analysis. At the same time, the text data is passed to an emotion engine for sentiment analysis.
[0657] Natural Language Processing and Sentiment Analysis
[0658] Step 5:
[0659] The NLP engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[0660] Step 6:
[0661] The emotion engine analyzes the user's emotional state from the text. For example, emotions such as "joy" and "excitement" are recognized.
[0662] Step 7:
[0663] The NLP engine retrieves the IDs of related 3D objects from the database based on the extracted keywords, returning the object IDs for "seaside background" and "cafe building."
[0664] 3D model generation and adjustment
[0665] Step 8:
[0666] The server passes the acquired object ID and the user's emotional state to the 3D model generation engine, and instructs it to generate and adjust the 3D model based on this.
[0667] Step 9:
[0668] The 3D model generation engine generates a corresponding 3D model based on the specified object ID. The color and design of the generated model are changed based on the analysis results of the emotion engine. For example, if the user is expressing "joy," bright colors are used.
[0669] Data storage and response generation
[0670] Step 10:
[0671] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily access the previously generated space when they access it again.
[0672] Step 11:
[0673] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[0674] Final processing on the user's device
[0675] Step 12:
[0676] The user's device receives the JSON data returned from the server.
[0677] Step 13:
[0678] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render a 3D space based on the received data. The rendered space reflects an optimal design based on the user's input and emotions, allowing the user to visually experience a customized 3D space that matches their emotions.
[0679] Example 2
[0680] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0681] Conventional 3D space generation systems make it difficult for users to intuitively design spaces and create spaces that respond to a variety of emotions. In addition, design changes and space adjustments that take user emotions into account are performed manually, which presents a challenge in that they cannot respond quickly and flexibly.
[0682] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0683] In this invention, the server includes means for a user to input natural language text, means for converting the input natural language text into JSON format and transmitting the JSON format to the server, means for analyzing the natural language text received by the server and extracting keywords and intent, means for recognizing the user's emotion based on the analyzed text, means for generating a three-dimensional object based on the user's emotion and the extracted keywords, and means for dynamically arranging the generated three-dimensional object in a three-dimensional space and visually displaying it on the user's terminal through a user interface, thereby enabling the user to intuitively generate and display a personalized three-dimensional space based on the natural language text and emotion.
[0684] "Natural language text" refers to text data that a user inputs in everyday language.
[0685] "JSON format" is an abbreviation for JavaScript Object Notation, and is a format for describing and structuring data in text format.
[0686] A "server" refers to a computer system that provides services and processes data for other computers on a network.
[0687] "Keywords" refer to important words or phrases extracted from natural language text.
[0688] "Intention" refers to the purpose or content that a user is trying to communicate, as analyzed from natural language text.
[0689] "NLP engine" is an abbreviation for natural language processing engine, and refers to software that performs syntactic and semantic analysis of text.
[0690] "Emotion engine" refers to a software engine for recognizing a user's emotional state through text analysis.
[0691] A "three-dimensional object" refers to digital data that has a three-dimensional shape and attributes on a computer.
[0692] "Three-dimensional space" refers to a virtual space defined by a three-dimensional coordinate system.
[0693] "User interface" refers to the interface through which a user accesses and operates a system.
[0694] A "database" refers to a storage system for systematically managing and storing data.
[0695] The system of the present invention allows users to intuitively create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions. Specific implementation methods for this system are described below.
[0696] First, the user inputs natural language text using the terminal. The terminal has a user interface (UI) that displays a field for inputting natural language text. For example, the user might input "I want to build a seaside cafe." When the user clicks the send button, this text data is converted into JSON format and sent from the terminal to the server.
[0697] The server receives this JSON data using a protocol such as a REST API or WebSocket. It extracts natural language text from the received JSON data and records it in a log. It then analyzes the text using a Natural Language Processing (NLP) engine to extract keywords and user intent. For example, the Python libraries nltk and spaCy can be used for this analysis. For example, the keywords "beach" and "cafe" are extracted.
[0698] At the same time, the server uses an emotion engine to analyze the user's emotions. This analysis can utilize emotion analysis libraries such as TextBlob and VADER (Valence Aware Dictionary and sEntiment Reasoner). The analysis results determine whether the user's input reflects joy or sadness. For example, the server determines that the user's input reflects joy.
[0699] Next, the server dynamically adjusts the characteristics and placement of the 3D object based on the analysis results of the NLP engine and emotion engine. This is done using a 3D model generation engine (e.g., Blender or Unity for 3D modeling). The 3D model generation engine receives instructions from the server and generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes. It also adjusts the color and design based on the emotion.
[0700] The generated 3D data is associated with the user ID and stored in a database, which can be, for example, an SQL database or a NoSQL database (e.g., MySQL, MongoDB).
[0701] After the data is saved, the server compiles the generated 3D space information into JSON format and sends it back to the user's device. The user's device receives this JSON data and uses the device's built-in 3D rendering engine (e.g., WebGL) to draw the 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[0702] Specific examples
[0703] Example prompt sentence:
[0704] The user enters "I want to build a seaside cafe" in the text input field and clicks the submit button.
[0705] The server receives this text and analyzes it with an NLP engine. As a result of the analysis, the keywords "beach" and "cafe" are extracted, and the emotion engine recognizes that the user is excited.
[0706] The 3D model generation engine generates 3D models of the specified background and buildings, which are then adjusted into colorful and vibrant designs based on emotions.
[0707] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0708] The user's device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches their emotions.
[0709] The system allows users to intuitively create and display personalized 3D spaces based on natural language text and emotions.
[0710] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0711] Step 1:
[0712] A user enters natural language text at a terminal.
[0713] Specific operation: The user enters the text "I want to create a seaside cafe" into the input field displayed on the device's user interface (UI) and clicks the send button.
[0714] Input: Natural language text entered by the user: "I want to build a seaside cafe."
[0715] Output: The terminal converts this text data into JSON format and sends it to the server.
[0716] Step 2:
[0717] The server receives the JSON data and extracts the natural language text.
[0718] Specific operation: The server receives JSON data sent from the device via REST API or WebSocket, extracts natural language text from the received data, and records it in a log.
[0719] Input: JSON format data sent from the terminal.
[0720] Output: The extracted natural language text "I want to build a seaside cafe."
[0721] Step 3:
[0722] The server analyzes the natural language text and extracts keywords and intent.
[0723] How it works: The server uses a natural language processing (NLP) engine to parse and semantically analyze the received text. For analysis, it uses libraries such as nltk and spaCy. For example, it extracts keywords such as "beach" and "cafe."
[0724] Input: Extracted natural language text "I want to build a seaside cafe."
[0725] Output: Extracted keywords "beach" and "cafe", along with the user's intent.
[0726] Step 4:
[0727] The server analyzes the user's emotions using an emotion engine.
[0728] What happens: The server uses an emotion engine (e.g., TextBlob or VADER) to analyze the emotion (happiness, sadness, excitement, etc.) that the text expresses. In this case, it determines that the text expresses happiness.
[0729] Input: Natural language text "I want to build a seaside cafe."
[0730] Output: Identified user emotion (e.g., joy).
[0731] Step 5:
[0732] The server issues instructions to generate a 3D object based on keywords and emotions.
[0733] How it works: The server combines the analysis results of the NLP engine and the emotion engine and issues instructions to the 3D model generation engine. Using 3D modeling tools such as Blender or Unity, the specified objects (ocean background, cafe building) are generated. The color and design are also adjusted based on the emotion.
[0734] Input: Keywords "beach" and "cafe", and user emotion (joy).
[0735] Output: The generated 3D object (seaside background and cafe building).
[0736] Step 6:
[0737] The generated 3D object is stored in a database and associated with a user ID.
[0738] What it does: The server saves the generated 3D object in a database (e.g., MySQL, MongoDB) and associates it with the user ID, so that the saved data can be easily retrieved when the user accesses the system again.
[0739] Input: The generated 3D object and a user ID.
[0740] Output: 3D objects and user information stored in a database.
[0741] Step 7:
[0742] The server sends the three-dimensional spatial information back to the user's device.
[0743] Specific operation: The server compiles the saved data into JSON format and returns it to the user's device.
[0744] Input: A 3D object stored in a database.
[0745] Output: JSON data containing the generated 3D spatial information.
[0746] Step 8:
[0747] The user's device draws a three-dimensional space based on the data received.
[0748] Specific operation: The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to draw a 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[0749] Input: JSON data received from the server.
[0750] Output: 3D space rendered on the user's device.
[0751] (Application example 2)
[0752] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0753] Conventional 3D space generation systems can generate 3D spaces using the user's natural language text, but these spaces are not individually customized based on the user's emotions. This makes it difficult to provide a space that reflects the user's desired atmosphere and experience, and presents the challenge of not being able to provide an optimal 3D space that meets the needs of each individual user.
[0754] The specific processing 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 receiving natural language text, means for analyzing the received natural language text and extracting keywords and intentions, and means for recognizing the emotional state of the user and dynamically adjusting the characteristics and placement of the three-dimensional object based on the emotion. This makes it possible to generate a three-dimensional space customized according to the user's emotion.
[0755] "Natural language text" is text data that has the form of words and sentences that humans use on a daily basis.
[0756] The "receiving means" is a device or software that has the function of receiving data sent from the user's terminal at the server.
[0757] The "analyzing means" is a device or software that has the function of syntactically and semantically analyzing the received natural language text and extracting keywords and intent.
[0758] "Keywords and intent" refers to important words extracted from the input natural language text and the purpose or meaning derived from those words.
[0759] A "three-dimensional object" refers to digital data that has a shape and attributes in three-dimensional space.
[0760] The "generating means" is a device or software that has the function of dynamically generating a three-dimensional object based on the analyzed keywords and intentions.
[0761] "Emotional state" refers to the psychological state a user exhibits when entering natural language text, and includes emotions such as excitement, joy, sadness, etc.
[0762] A "dynamic adjustment means" is a device or software that has the ability to change the characteristics of the generated three-dimensional object, such as its color, placement, and design, in real time according to the user's emotional state.
[0763] "Three-dimensional space" refers to a virtual space in a digital environment that is composed of three dimensions: width, height, and depth.
[0764] The "placement means" refers to a device or software that has the function of placing the generated three-dimensional object at an appropriate position in three-dimensional space.
[0765] "User interface" refers to the screens and methods by which a user interacts with a computer system or application.
[0766] "Terminal" refers to an electronic device that allows a user to input, display, and operate information.
[0767] "Display means" refers to a device or software that has the function of outputting the generated three-dimensional space in a form that can actually be seen on the user's terminal.
[0768] A specific embodiment of the system according to the present invention is described below. This system allows users to easily create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions.
[0769] System Configuration
[0770] The system includes the following main components:
[0771] 1. User device: A device through which a user inputs natural language text, such as a smartphone, tablet, PC, or head-mounted display (HMD).
[0772] 2. Server: A computer system that receives input natural language text and performs analysis and generation. Examples include natural language processing engines (e.g., SpaCy, Bert), emotion engines (e.g., VADER, Hugging Face Transformers), and 3D model generation engines (e.g., Blender, Three.js).
[0773] 3. Database: A system for storing and managing the generated 3D objects and spatial data (e.g., MongoDB, SQLite).
[0774] Program processing overview
[0775] 1. Receiving natural language text
[0776] The user uses the terminal to input natural language text, for example, "I want to create a boutique with an elegant and relaxed atmosphere," and clicks the send button. The terminal converts this text data into JSON format and sends it to the server.
[0777] 2. Receipt and analysis by the server
[0778] The server receives the JSON data sent from the device and extracts the natural language text from the request body. It logs this text data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In parallel, the emotion engine analyzes the user's emotions.
[0779] 3. Emotion-based adjustment and 3D model generation
[0780] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, excitement, calm), the server dynamically adjusts the characteristics and placement of the 3D object. Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates the specified object as 3D data with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[0781] 4. Saving to the database and generating a response
[0782] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0783] 5. Display on the user's device
[0784] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[0785] Specific examples
[0786] Example: An elegant and relaxed boutique
[0787] User's device: The user enters "I want to create a boutique with an elegant and relaxed atmosphere" in the text input field and clicks the send button. The device sends this text to the server.
[0788] Server: The server receives this text and analyzes it using the NLP engine. As a result of the analysis, keywords such as "elegant" and "calm atmosphere" are extracted. The emotion engine also recognizes that the user is in a calm psychological state.
[0789] 3D Model Generation: The 3D model generation engine generates 3D models of the specified background and building, and adjusts the elegant and calm design based on emotions.
[0790] Data storage and response generation: The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0791] User's device: The device draws a 3D space based on the data received, visually displaying to the user a boutique with an elegant and calm atmosphere that matches their emotions.
[0792] In this way, the system of the present invention realizes the generation and display of intuitive and personalized three-dimensional spaces using natural language and emotion recognition.
[0793] Prompt Sentence Examples
[0794] "Generate an elegant and tranquil 3D boutique based on user-entered text. Consider relevant keywords and emotions and incorporate the following elements: color scheme, interior design, displays, and lighting settings."
[0795] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0796] Step 1: Receiving input text
[0797] A user uses a terminal to enter natural language text and clicks the submit button. The terminal converts this text into JSON format and sends it to the server. The input of this step is the user's input text, and the output is JSON formatted data.
[0798] Step 2: Parsing natural language text
[0799] The server receives the JSON data sent from the terminal and extracts the natural language text from the request body. It logs this text data and passes it to the natural language processing engine to begin analysis. The input of this step is JSON-formatted data, and the output is the analysis results including keywords and intent.
[0800] Step 3: Sentiment Analysis
[0801] The server passes the parsed natural language text to an emotion engine to analyze the user's emotional state. Specifically, it determines whether the user is feeling joy, excitement, calm, etc. based on keywords and context extracted from the text. The input of this step is the parsed natural language text, and the output is the user's emotional state.
[0802] Step 4: Instructions for creating 3D objects
[0803] The server issues instructions to the 3D model generation engine based on the analysis results of the NLP engine and emotion engine. The instructions include the type of 3D object to be generated, its placement, and adjustments to color and design based on emotions. The inputs to this step are keywords and emotional states, and the output is generation instructions to the 3D model generation engine.
[0804] Step 5: 3D model generation
[0805] The 3D model generation engine generates 3D data of the specified object with the required shape and attributes according to instructions from the server. In this process, it adjusts the color, placement, and design of the object based on the recognized emotional state. The input to this step is the generation instructions, and the output is the generated 3D object data.
[0806] Step 6: Saving to the Database
[0807] The server associates the generated 3D data with the user ID and stores it in a database. This storage allows the user to easily recall the created 3D space when they return. The input of this step is the generated 3D object data, and the output is a data entry stored in the database.
[0808] Step 7: Generate and return response data
[0809] The server compiles the saved 3D space information in JSON format and sends it back to the user's device. The input of this step is the 3D object data saved in the database, and the output is the response data in JSON format.
[0810] Step 8: Viewing 3D Space
[0811] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user. The input of this step is the response data in JSON format, and the output is a 3D space that the user can visually confirm.
[0812] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0813] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0814] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0815] [Third embodiment]
[0816] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0817] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0818] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0819] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0820] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0821] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0822] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0823] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0824] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0825] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0826] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0827] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0828] The system according to the present invention allows users to easily create and manipulate three-dimensional space using natural language text, and the specific program processing for this purpose will be described below.
[0829] 1. Actions taken by the user's device
[0830] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[0831] 2. Receipt and analysis by the server
[0832] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It records this data in a log and passes it to a natural language processing (NLP) engine to begin analysis.
[0833] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. Based on this, the object IDs of related 3D objects (ocean background, cafe building) are retrieved from the database.
[0834] 3. Generating 3D models
[0835] Based on the extracted keywords and the object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the generated 3D data is placed in the appropriate position.
[0836] 4. Saving to the database and generating a response
[0837] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0838] 5. Display on the user's device
[0839] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. This allows the user to visually confirm and manipulate the 3D space of their desired "seaside cafe."
[0840] Specific examples
[0841] Example: Building a seaside cafe
[0842] On the user's device:
[0843] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[0844] server:
[0845] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The object IDs for each are then retrieved from the database and passed to the 3D model generation engine.
[0846] 3D model generation:
[0847] The 3D model generation engine generates 3D models of the specified background and buildings and places them in the appropriate positions.
[0848] Data storage and response generation:
[0849] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[0850] On the user's device:
[0851] The device draws a 3D space based on the data it receives and displays it to the user.
[0852] In this way, the system of the present invention can intuitively generate, arrange, and display three-dimensional space using natural language, and is extremely useful, especially for users who are unfamiliar with three-dimensional operations.
[0853] The processing flow will be explained below.
[0854] Specific processing flow of the program
[0855] User operations and device behavior
[0856] Step 1:
[0857] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[0858] Step 2:
[0859] The user clicks the submit button, which causes the device to convert the entered text into JSON format and send an HTTP request to the appropriate API endpoint.
[0860] Server reception and initial processing
[0861] Step 3:
[0862] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[0863] Step 4:
[0864] The server passes the extracted natural language text to a natural language processing engine (NLP engine), which starts text analysis.
[0865] How the natural language processing engine works
[0866] Step 5:
[0867] The natural language processing engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[0868] Step 6:
[0869] The NLP engine uses the extracted keywords to retrieve the IDs of related 3D objects from the database. For example, it retrieves the object IDs of the seascape background and the cafe building.
[0870] How the 3D model generation engine works
[0871] Step 7:
[0872] The server passes the acquired object ID to the 3D model generation engine and instructs it to generate a 3D model based on this.
[0873] Step 8:
[0874] The 3D model generation engine generates the corresponding 3D model (ocean background, cafe building) based on the specified object ID and places it in the appropriate position.
[0875] Server data storage and response generation
[0876] Step 9:
[0877] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily recall the created space when revisiting.
[0878] Step 10:
[0879] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[0880] Final processing on the user's device
[0881] Step 11:
[0882] The user's device receives the JSON data returned from the server.
[0883] Step 12:
[0884] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render the 3D space, which is then visually displayed to the user.
[0885] Example 1
[0886] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0887] Conventional 3D space generation systems require specialized knowledge and skills, making them difficult for general users to use. It is also difficult to directly understand the user's natural language text and reflect it in the 3D space. Furthermore, there are issues with appropriate methods for saving and displaying the generated 3D space so that it can be reused and managed.
[0888] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0889] In this invention, the server includes means for analyzing received JSON data and extracting keywords and intent, means for retrieving related data from a database based on the extracted keywords and intent, and means for generating a three-dimensional object based on the retrieved data, thereby enabling a user to easily generate and operate a three-dimensional space using natural language.
[0890] "Natural language text" refers to sentences and phrases written in a language that a user uses on a daily basis.
[0891] "JSON format" is an abbreviation for JavaScript Object Notation, and is a data exchange format for expressing data in a format that is easy for humans to read and easy for machines to analyze.
[0892] A "server" is a computer that provides services and resources to other computers (clients) on a network.
[0893] A "natural language processing engine" is software that provides technology to analyze text written in natural language and understand its grammatical structure and meaning.
[0894] "Keywords" are meaningful and important words or phrases extracted from natural language text.
[0895] "Intent" refers to the purpose or desire that a user intends to convey through natural language text.
[0896] A "database" is a system for organizing and managing digital data and for efficiently searching and editing it.
[0897] A "3D object" is digital data that has a position and shape in space and is expressed in three-dimensional space.
[0898] A "user interface" is an interface through which a user interacts with a computer or software.
[0899] A "user ID" is an identifier that uniquely identifies a specific user.
[0900] A "3D rendering engine" is software for visually rendering three-dimensional data.
[0901] This invention relates to a system that allows users to easily create and manipulate three-dimensional space using natural language text. This system receives the user's natural language text, analyzes it, generates and places related three-dimensional objects, and performs various processes required to display the results on the user's device.
[0902] A user enters natural language text into an input field displayed on the user interface (UI) of their device. When the user completes the text entry and clicks the send button, the device converts this text data into JSON format and sends it to the server. The hardware used here includes personal computers, smartphones, tablets, etc. The software used is a web browser or a special client application.
[0903] The server receives the JSON data sent from the device. This data contains natural language text representing the user's request. This data is first logged and then passed to a natural language processing (NLP) engine, which performs syntactic and semantic analysis of the input text to extract keywords and intent. This can use software such as Google Cloud's Natural Language API or OpenAI's GPT model.
[0904] Based on the extracted keywords and intent, the server retrieves the object IDs of related 3D objects from a database. Databases such as MongoDB and MySQL are used for this purpose. For example, if the keywords "beach" and "cafe" are extracted, the corresponding object IDs (ocean background, cafe building) are retrieved from the database.
[0905] The server issues model generation instructions to a 3D model generation engine, such as Unity or Unreal Engine. The 3D model generation engine generates 3D data with the required shapes and attributes for the specified objects (e.g., ocean background, cafe building), and places them in the appropriate positions.
[0906] The generated 3D data is stored in the server's database, associated with the user ID. This makes it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0907] The user's device receives and analyzes the JSON data returned by the server. The device's 3D rendering engine (e.g., WebGL) then renders the 3D space based on this data, allowing the user to visually confirm and manipulate the 3D space of their desired "beachside cafe."
[0908] For example, a user enters "I want to create a seaside cafe" in the text input field and clicks the submit button. The system then executes the above process, and the 3D space is finally displayed on the user's device. In this way, the user can intuitively create and manipulate 3D spaces.
[0909] An example prompt is:
[0910] Enter "I want to create a seaside cafe" and click the submit button.
[0911] This system allows even users who are unfamiliar with 3D operations to easily generate and manipulate 3D spaces, and is expected to be widely used.
[0912] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0913] Step 1: User inputs natural language text
[0914] The user inputs natural language text into an input field displayed on the device's user interface (UI). For example, the user might input "I want to build a seaside cafe." This text input becomes the input for processing. When the user clicks the send button, the input text data is sent.
[0915] Step 2: Convert and send text data via your device
[0916] The terminal receives the text data entered by the user and converts it to JSON format, which looks like this:
[0917] json
[0918] {
[0919] "user_id": "12345",
[0920] "request": "I want to build a seaside cafe"
[0921] }
[0922] This JSON data is sent to the server. The input is the user's text and user ID, and the output is JSON format data.
[0923] Step 3: The server receives and analyzes the text data
[0924] The server receives JSON data sent from the device. The received data contains natural language text expressing the user's request. This data is logged. The server then passes the text to a natural language processing (NLP) engine to begin analysis. For example, Google Cloud's Natural Language API or OpenAI's GPT model is used as the NLP engine. The input is the received JSON data, and the output is the analysis results (extracted keywords and intent).
[0925] Step 4: Keyword extraction and database query by the server
[0926] The server obtains the extracted keywords and intent based on the analysis results of the NLP engine. In this example, the keywords "beach" and "cafe" are extracted. Next, the server obtains the object IDs of related 3D objects from a database based on these keywords. For example, MongoDB or MySQL is used as the database. The input is the extracted keywords, and the output is the corresponding object ID.
[0927] Step 5: Generate a model using the 3D model generation engine
[0928] Based on the acquired object ID, the server issues model generation instructions to the 3D model generation engine. For example, Unity or Unreal Engine is used as the 3D model generation engine. The generation engine generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes, and places it in the appropriate position. The input is the object ID, and the output is the generated 3D model data.
[0929] Step 6: Server saves generated data and generates response
[0930] The server stores the generated 3D data in a database, associating it with the user ID. This allows the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device. The following JSON data is created:
[0931] json
[0932] {
[0933] "user_id": "12345",
[0934] "3d_scene": {
[0935] "background": "sea_background.obj",
[0936] "objects": ["cafe_building.obj"]
[0937] }
[0938] }
[0939] The input is the generated 3D model data, and the output is the JSON data for the response.
[0940] Step 7: Analyze the received data on the device and display the 3D space
[0941] The device receives the JSON data returned from the server. It analyzes this data and uses the device's built-in 3D rendering engine (e.g., WebGL) to render the 3D space. The user can visually check and manipulate the 3D space of the desired "seaside cafe" on the device's UI. The input is the received JSON data, and the output is the displayed 3D space.
[0942] (Application example 1)
[0943] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0944] In conventional 3D space generation systems, it has been difficult for users to intuitively operate and generate 3D spaces using natural language. It has also been difficult to generate a virtual reality space that provides users with an interactive experience based on a specific theme. The present invention aims to solve these problems and provide a system that enables users to easily generate a store in a virtual reality space and provide an interactive experience based on a specific theme.
[0945] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0946] In this invention, the server includes means for receiving natural language text, means for analyzing the received natural language text and extracting keywords and intent, means for generating a three-dimensional object based on the extracted keywords and intent, means for arranging the generated three-dimensional object in a three-dimensional space, means for displaying the three-dimensional space on a user's terminal through a user interface, and means for generating a store in a virtual reality space based on a request from the user and providing an interactive experience based on a specific theme. This allows a user to easily generate a virtual store based on a specific theme using natural language and provide an interactive shopping experience.
[0947] "Natural language text" refers to text entered in a language format that is commonly used by users.
[0948] "Parsing" is the process of syntactically and semantically breaking down and understanding received natural language text.
[0949] "Keywords" refer to important words or phrases extracted from received natural language text that convey a particular meaning or intent.
[0950] "Intent" refers to the purpose or desire that a user wishes to express through natural language text.
[0951] A "3D object" is data that has a three-dimensional shape in digital space.
[0952] "Three-dimensional space" refers to a virtual space that has three dimensions: width, height, and depth.
[0953] "User interface" refers to the operation screen and input means that serve as the entry point for the user to interact with the system.
[0954] "Terminal" refers to a device through which a user accesses the system, and examples include smartphones and tablets.
[0955] A "virtual reality space" is a space in which users can experience a virtually generated three-dimensional digital environment.
[0956] "Store" means a digital location designed to offer goods and services within a virtual reality space.
[0957] A "theme" refers to a consistent concept or style when designing a virtual reality space or store.
[0958] An "interactive experience" is a two-way experience in which the user actively participates through interaction with the system.
[0959] This invention provides a system that allows users to intuitively create a store based on a specific theme in a virtual reality space using natural language text, providing an interactive experience. This system will be described in detail below.
[0960] First, a user uses a device such as a smartphone or tablet to input natural language text into a text input field within the application. For example, they might input, "I want to create a virtual store that sells clothes with a seaside theme." By sending this text, the device converts the text data into JSON format and sends it to the server.
[0961] The server receives the JSON data sent from the device, which contains natural language text expressing the user's request. It logs this data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this specific example, the keywords "beach," "clothes," and "virtual store" are extracted, and based on these, the object IDs of related 3D objects (e.g., ocean background, shelves displaying clothes) are retrieved from the database.
[0962] Next, the 3D model generation engine generates a 3D model based on the extracted keywords and object IDs obtained from the database. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes and placed in the appropriate position.
[0963] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[0964] The device receives and analyzes the JSON data returned from the server. It then uses the device's built-in 3D rendering engine (using WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[0965] For example, if a user inputs "I want to create a virtual store selling books with a city theme," a virtual store will be created that generates a 3D model of the cityscape and bookshelves. In this way, interactive theme setting is possible based on the user's natural language input, making it easy to create virtual stores that suit a variety of scenes.
[0966] This invention is a system that uses an NLP engine to analyze natural language text, a 3D model generation engine to generate specified 3D objects, a database to store and manage the generated data, and a rendering engine such as WebGL or Unity to render the 3D space, thereby providing users with a rich interactive experience.
[0967] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0968] Step 1:
[0969] A user inputs natural language text into a text input field in the application using a smartphone or tablet. This input is text that includes a description of the 3D space the user desires, such as "I want to create a virtual store selling clothes with a seaside theme." The input text is then sent to the server in JSON format by clicking the submit button.
[0970] (input)
[0971] The user's natural language text input.
[0972] (output)
[0973] Text data in JSON format.
[0974] Step 2:
[0975] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It logs this data and passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent.
[0976] (input)
[0977] Text data in JSON format.
[0978] (output)
[0979] Keywords and intent as analysis results.
[0980] Step 3:
[0981] The server retrieves object IDs of related 3D objects from the database based on the keywords and intent extracted by the NLP engine. Specifically, object IDs corresponding to the keywords "beach," "clothes," and "virtual store" are retrieved from the database.
[0982] (input)
[0983] Keywords and Intent.
[0984] (output)
[0985] The corresponding object ID.
[0986] Step 4:
[0987] The server passes the acquired object IDs to the 3D model generation engine, which then generates a 3D model based on them. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes.
[0988] (input)
[0989] Object ID.
[0990] (output)
[0991] 3D model data.
[0992] Step 5:
[0993] The generated 3D model data is associated with the user ID and saved in the server database, making it easy for users to access the space they created when they log in again.
[0994] (input)
[0995] 3D model data, user ID.
[0996] (output)
[0997] Data stored in a database.
[0998] Step 6:
[0999] The server compiles the generated 3D space information in JSON format and returns it to the user's device, including information about the 3D space's configuration and object positions.
[1000] (input)
[1001] 3D model data.
[1002] (output)
[1003] 3D spatial information in JSON format.
[1004] Step 7:
[1005] The user's device receives the JSON data returned from the server. The device analyzes this data and uses a built-in 3D rendering engine (e.g., WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[1006] (input)
[1007] 3D spatial information in JSON format.
[1008] (output)
[1009] 3D space displayed on the device.
[1010] Through the above steps, users can easily use natural language to create a virtual store based on a specific theme and provide an interactive shopping experience.
[1011] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1012] The system of the present invention allows users to easily create and manipulate three-dimensional spaces using natural language text. The following describes the specific program processing that recognizes the user's emotions and generates spaces based on those emotions.
[1013] 1. Actions taken by the user's device
[1014] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[1015] 2. Receipt and analysis by the server
[1016] The server receives the JSON data sent from the device, extracts the natural language text from the request body, logs this text data, and passes it to the natural language processing (NLP) engine for analysis.
[1017] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In a specific example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. In parallel, the emotion engine analyzes the user's emotions. For example, it determines whether the user's input reflects joy or sadness.
[1018] 3. Emotion-Based Adjustment
[1019] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, sadness, excitement, etc.), the server dynamically adjusts the characteristics and placement of the 3D object. For example, if a user expresses joy by saying, "I want to create a seaside cafe," the server selects a bright background and a lively cafe design.
[1020] 4. Generating 3D models
[1021] Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine, which then generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[1022] 5. Saving to the database and generating a response
[1023] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1024] 6. Display on the user's device
[1025] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[1026] Specific examples
[1027] Example: Building a seaside cafe
[1028] On the user's device:
[1029] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[1030] server:
[1031] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The emotion engine also recognizes that the user is excited.
[1032] 3D model generation:
[1033] The 3D model generation engine generates 3D models of the specified background and buildings, and adjusts them into colorful and vibrant designs based on emotions.
[1034] Data storage and response generation:
[1035] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1036] On the user's device:
[1037] The device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches the user's emotions.
[1038] In this way, the system of the present invention uses natural language and emotion recognition to create and display an intuitive and personalized three-dimensional space.
[1039] The processing flow will be explained below.
[1040] MODE FOR CARRYING OUT THE INVENTION
[1041] Specific processing flow of the program
[1042] Step 1:
[1043] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[1044] Step 2:
[1045] The user clicks the submit button, which causes the device to convert the entered text data into JSON format and send an HTTP request to the appropriate API endpoint.
[1046] Server reception and initial processing
[1047] Step 3:
[1048] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[1049] Step 4:
[1050] The server passes the extracted natural language text to a natural language processing (NLP) engine to begin analysis. At the same time, the text data is passed to an emotion engine for sentiment analysis.
[1051] Natural Language Processing and Sentiment Analysis
[1052] Step 5:
[1053] The NLP engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[1054] Step 6:
[1055] The emotion engine analyzes the user's emotional state from the text. For example, emotions such as "joy" and "excitement" are recognized.
[1056] Step 7:
[1057] The NLP engine retrieves the IDs of related 3D objects from the database based on the extracted keywords, returning the object IDs for "seaside background" and "cafe building."
[1058] 3D model generation and adjustment
[1059] Step 8:
[1060] The server passes the acquired object ID and the user's emotional state to the 3D model generation engine, and instructs it to generate and adjust the 3D model based on this.
[1061] Step 9:
[1062] The 3D model generation engine generates a corresponding 3D model based on the specified object ID. The color and design of the generated model are changed based on the analysis results of the emotion engine. For example, if the user is expressing "joy," bright colors are used.
[1063] Data storage and response generation
[1064] Step 10:
[1065] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily access the previously generated space when they access it again.
[1066] Step 11:
[1067] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[1068] Final processing on the user's device
[1069] Step 12:
[1070] The user's device receives the JSON data returned from the server.
[1071] Step 13:
[1072] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render a 3D space based on the received data. The rendered space reflects an optimal design based on the user's input and emotions, allowing the user to visually experience a customized 3D space that matches their emotions.
[1073] Example 2
[1074] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1075] Conventional 3D space generation systems make it difficult for users to intuitively design spaces and create spaces that respond to a variety of emotions. In addition, design changes and space adjustments that take user emotions into account are performed manually, which presents a challenge in that they cannot respond quickly and flexibly.
[1076] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1077] In this invention, the server includes means for a user to input natural language text, means for converting the input natural language text into JSON format and transmitting the JSON format to the server, means for analyzing the natural language text received by the server and extracting keywords and intent, means for recognizing the user's emotion based on the analyzed text, means for generating a three-dimensional object based on the user's emotion and the extracted keywords, and means for dynamically arranging the generated three-dimensional object in a three-dimensional space and visually displaying it on the user's terminal through a user interface, thereby enabling the user to intuitively generate and display a personalized three-dimensional space based on the natural language text and emotion.
[1078] "Natural language text" refers to text data that a user inputs in everyday language.
[1079] "JSON format" is an abbreviation for JavaScript Object Notation, and is a format for describing and structuring data in text format.
[1080] A "server" refers to a computer system that provides services and processes data for other computers on a network.
[1081] "Keywords" refer to important words or phrases extracted from natural language text.
[1082] "Intention" refers to the purpose or content that a user is trying to communicate, as analyzed from natural language text.
[1083] "NLP engine" is an abbreviation for natural language processing engine, and refers to software that performs syntactic and semantic analysis of text.
[1084] "Emotion engine" refers to a software engine for recognizing a user's emotional state through text analysis.
[1085] A "three-dimensional object" refers to digital data that has a three-dimensional shape and attributes on a computer.
[1086] "Three-dimensional space" refers to a virtual space defined by a three-dimensional coordinate system.
[1087] "User interface" refers to the interface through which a user accesses and operates a system.
[1088] A "database" refers to a storage system for systematically managing and storing data.
[1089] The system of the present invention allows users to intuitively create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions. Specific implementation methods for this system are described below.
[1090] First, the user inputs natural language text using the terminal. The terminal has a user interface (UI) that displays a field for inputting natural language text. For example, the user might input "I want to build a seaside cafe." When the user clicks the send button, this text data is converted into JSON format and sent from the terminal to the server.
[1091] The server receives this JSON data using a protocol such as a REST API or WebSocket. It extracts natural language text from the received JSON data and records it in a log. It then analyzes the text using a Natural Language Processing (NLP) engine to extract keywords and user intent. For example, the Python libraries nltk and spaCy can be used for this analysis. For example, the keywords "beach" and "cafe" are extracted.
[1092] At the same time, the server uses an emotion engine to analyze the user's emotions. This analysis can utilize emotion analysis libraries such as TextBlob and VADER (Valence Aware Dictionary and sEntiment Reasoner). The analysis results determine whether the user's input reflects joy or sadness. For example, the server determines that the user's input reflects joy.
[1093] Next, the server dynamically adjusts the characteristics and placement of the 3D object based on the analysis results of the NLP engine and emotion engine. This is done using a 3D model generation engine (e.g., Blender or Unity for 3D modeling). The 3D model generation engine receives instructions from the server and generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes. It also adjusts the color and design based on the emotion.
[1094] The generated 3D data is associated with the user ID and stored in a database, which can be, for example, an SQL database or a NoSQL database (e.g., MySQL, MongoDB).
[1095] After the data is saved, the server compiles the generated 3D space information into JSON format and sends it back to the user's device. The user's device receives this JSON data and uses the device's built-in 3D rendering engine (e.g., WebGL) to draw the 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[1096] Specific examples
[1097] Example prompt sentence:
[1098] The user enters "I want to build a seaside cafe" in the text input field and clicks the submit button.
[1099] The server receives this text and analyzes it with an NLP engine. As a result of the analysis, the keywords "beach" and "cafe" are extracted, and the emotion engine recognizes that the user is excited.
[1100] The 3D model generation engine generates 3D models of the specified background and buildings, which are then adjusted into colorful and vibrant designs based on emotions.
[1101] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1102] The user's device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches their emotions.
[1103] The system allows users to intuitively create and display personalized 3D spaces based on natural language text and emotions.
[1104] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1105] Step 1:
[1106] A user enters natural language text at a terminal.
[1107] Specific operation: The user enters the text "I want to create a seaside cafe" into the input field displayed on the device's user interface (UI) and clicks the send button.
[1108] Input: Natural language text entered by the user: "I want to build a seaside cafe."
[1109] Output: The terminal converts this text data into JSON format and sends it to the server.
[1110] Step 2:
[1111] The server receives the JSON data and extracts the natural language text.
[1112] Specific operation: The server receives JSON data sent from the device via REST API or WebSocket, extracts natural language text from the received data, and records it in a log.
[1113] Input: JSON format data sent from the terminal.
[1114] Output: The extracted natural language text "I want to build a seaside cafe."
[1115] Step 3:
[1116] The server analyzes the natural language text and extracts keywords and intent.
[1117] How it works: The server uses a natural language processing (NLP) engine to parse and semantically analyze the received text. For analysis, it uses libraries such as nltk and spaCy. For example, it extracts keywords such as "beach" and "cafe."
[1118] Input: Extracted natural language text "I want to build a seaside cafe."
[1119] Output: Extracted keywords "beach" and "cafe", along with the user's intent.
[1120] Step 4:
[1121] The server analyzes the user's emotions using an emotion engine.
[1122] What happens: The server uses an emotion engine (e.g., TextBlob or VADER) to analyze the emotion (happiness, sadness, excitement, etc.) that the text expresses. In this case, it determines that the text expresses happiness.
[1123] Input: Natural language text "I want to build a seaside cafe."
[1124] Output: Identified user emotion (e.g., joy).
[1125] Step 5:
[1126] The server issues instructions to generate a 3D object based on keywords and emotions.
[1127] How it works: The server combines the analysis results of the NLP engine and the emotion engine and issues instructions to the 3D model generation engine. Using 3D modeling tools such as Blender or Unity, the specified objects (ocean background, cafe building) are generated. The color and design are also adjusted based on the emotion.
[1128] Input: Keywords "beach" and "cafe", and user emotion (joy).
[1129] Output: The generated 3D object (seaside background and cafe building).
[1130] Step 6:
[1131] The generated 3D object is stored in a database and associated with a user ID.
[1132] What it does: The server saves the generated 3D object in a database (e.g., MySQL, MongoDB) and associates it with the user ID, so that the saved data can be easily retrieved when the user accesses the system again.
[1133] Input: The generated 3D object and a user ID.
[1134] Output: 3D objects and user information stored in a database.
[1135] Step 7:
[1136] The server sends the three-dimensional spatial information back to the user's device.
[1137] Specific operation: The server compiles the saved data into JSON format and returns it to the user's device.
[1138] Input: A 3D object stored in a database.
[1139] Output: JSON data containing the generated 3D spatial information.
[1140] Step 8:
[1141] The user's device draws a three-dimensional space based on the data received.
[1142] Specific operation: The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to draw a 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[1143] Input: JSON data received from the server.
[1144] Output: 3D space rendered on the user's device.
[1145] (Application example 2)
[1146] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1147] Conventional 3D space generation systems can generate 3D spaces using the user's natural language text, but these spaces are not individually customized based on the user's emotions. This makes it difficult to provide a space that reflects the user's desired atmosphere and experience, and presents the challenge of not being able to provide an optimal 3D space that meets the needs of each individual user.
[1148] The specific processing 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 receiving natural language text, means for analyzing the received natural language text and extracting keywords and intentions, and means for recognizing the emotional state of the user and dynamically adjusting the characteristics and placement of the three-dimensional object based on the emotion. This makes it possible to generate a three-dimensional space customized according to the user's emotion.
[1149] "Natural language text" is text data that has the form of words and sentences that humans use on a daily basis.
[1150] The "receiving means" is a device or software that has the function of receiving data sent from the user's terminal at the server.
[1151] The "analyzing means" is a device or software that has the function of syntactically and semantically analyzing the received natural language text and extracting keywords and intent.
[1152] "Keywords and intent" refers to important words extracted from the input natural language text and the purpose or meaning derived from those words.
[1153] A "three-dimensional object" refers to digital data that has a shape and attributes in three-dimensional space.
[1154] The "generating means" is a device or software that has the function of dynamically generating a three-dimensional object based on the analyzed keywords and intentions.
[1155] "Emotional state" refers to the psychological state a user exhibits when entering natural language text, and includes emotions such as excitement, joy, sadness, etc.
[1156] A "dynamic adjustment means" is a device or software that has the ability to change the characteristics of the generated three-dimensional object, such as its color, placement, and design, in real time according to the user's emotional state.
[1157] "Three-dimensional space" refers to a virtual space in a digital environment that is composed of three dimensions: width, height, and depth.
[1158] The "placement means" refers to a device or software that has the function of placing the generated three-dimensional object at an appropriate position in three-dimensional space.
[1159] "User interface" refers to the screens and methods by which a user interacts with a computer system or application.
[1160] "Terminal" refers to an electronic device that allows a user to input, display, and operate information.
[1161] "Display means" refers to a device or software that has the function of outputting the generated three-dimensional space in a form that can actually be seen on the user's terminal.
[1162] A specific embodiment of the system according to the present invention is described below. This system allows users to easily create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions.
[1163] System Configuration
[1164] The system includes the following main components:
[1165] 1. User device: A device through which a user inputs natural language text, such as a smartphone, tablet, PC, or head-mounted display (HMD).
[1166] 2. Server: A computer system that receives input natural language text and performs analysis and generation. Examples include natural language processing engines (e.g., SpaCy, Bert), emotion engines (e.g., VADER, Hugging Face Transformers), and 3D model generation engines (e.g., Blender, Three.js).
[1167] 3. Database: A system for storing and managing the generated 3D objects and spatial data (e.g., MongoDB, SQLite).
[1168] Program processing overview
[1169] 1. Receiving natural language text
[1170] The user uses the terminal to input natural language text, for example, "I want to create a boutique with an elegant and relaxed atmosphere," and clicks the send button. The terminal converts this text data into JSON format and sends it to the server.
[1171] 2. Receipt and analysis by the server
[1172] The server receives the JSON data sent from the device and extracts the natural language text from the request body. It logs this text data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In parallel, the emotion engine analyzes the user's emotions.
[1173] 3. Emotion-based adjustment and 3D model generation
[1174] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, excitement, calm), the server dynamically adjusts the characteristics and placement of the 3D object. Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates the specified object as 3D data with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[1175] 4. Saving to the database and generating a response
[1176] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1177] 5. Display on the user's device
[1178] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[1179] Specific examples
[1180] Example: An elegant and relaxed boutique
[1181] User's device: The user enters "I want to create a boutique with an elegant and relaxed atmosphere" in the text input field and clicks the send button. The device sends this text to the server.
[1182] Server: The server receives this text and analyzes it using the NLP engine. As a result of the analysis, keywords such as "elegant" and "calm atmosphere" are extracted. The emotion engine also recognizes that the user is in a calm psychological state.
[1183] 3D Model Generation: The 3D model generation engine generates 3D models of the specified background and building, and adjusts the elegant and calm design based on emotions.
[1184] Data storage and response generation: The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1185] User's device: The device draws a 3D space based on the data received, visually displaying to the user a boutique with an elegant and calm atmosphere that matches their emotions.
[1186] In this way, the system of the present invention realizes the generation and display of intuitive and personalized three-dimensional spaces using natural language and emotion recognition.
[1187] Prompt Sentence Examples
[1188] "Generate an elegant and tranquil 3D boutique based on user-entered text. Consider relevant keywords and emotions and incorporate the following elements: color scheme, interior design, displays, and lighting settings."
[1189] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1190] Step 1: Receiving input text
[1191] A user uses a terminal to enter natural language text and clicks the submit button. The terminal converts this text into JSON format and sends it to the server. The input of this step is the user's input text, and the output is JSON formatted data.
[1192] Step 2: Parsing natural language text
[1193] The server receives the JSON data sent from the terminal and extracts the natural language text from the request body. It logs this text data and passes it to the natural language processing engine to begin analysis. The input of this step is JSON-formatted data, and the output is the analysis results including keywords and intent.
[1194] Step 3: Sentiment Analysis
[1195] The server passes the parsed natural language text to an emotion engine to analyze the user's emotional state. Specifically, it determines whether the user is feeling joy, excitement, calm, etc. based on keywords and context extracted from the text. The input of this step is the parsed natural language text, and the output is the user's emotional state.
[1196] Step 4: Instructions for creating 3D objects
[1197] The server issues instructions to the 3D model generation engine based on the analysis results of the NLP engine and emotion engine. The instructions include the type of 3D object to be generated, its placement, and adjustments to color and design based on emotions. The inputs to this step are keywords and emotional states, and the output is generation instructions to the 3D model generation engine.
[1198] Step 5: 3D model generation
[1199] The 3D model generation engine generates 3D data of the specified object with the required shape and attributes according to instructions from the server. In this process, it adjusts the color, placement, and design of the object based on the recognized emotional state. The input to this step is the generation instructions, and the output is the generated 3D object data.
[1200] Step 6: Saving to the Database
[1201] The server associates the generated 3D data with the user ID and stores it in a database. This storage allows the user to easily recall the created 3D space when they return. The input of this step is the generated 3D object data, and the output is a data entry stored in the database.
[1202] Step 7: Generate and return response data
[1203] The server compiles the saved 3D space information in JSON format and sends it back to the user's device. The input of this step is the 3D object data saved in the database, and the output is the response data in JSON format.
[1204] Step 8: Viewing 3D Space
[1205] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user. The input of this step is the response data in JSON format, and the output is a 3D space that the user can visually confirm.
[1206] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1207] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1208] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1209] [Fourth embodiment]
[1210] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1211] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1212] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1213] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1214] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1215] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1216] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1217] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1218] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1219] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1220] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1221] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1222] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1223] The system according to the present invention allows users to easily create and manipulate three-dimensional space using natural language text, and the specific program processing for this purpose will be described below.
[1224] 1. Actions taken by the user's device
[1225] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[1226] 2. Receipt and analysis by the server
[1227] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It records this data in a log and passes it to a natural language processing (NLP) engine to begin analysis.
[1228] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. Based on this, the object IDs of related 3D objects (ocean background, cafe building) are retrieved from the database.
[1229] 3. Generating 3D models
[1230] Based on the extracted keywords and the object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the generated 3D data is placed in the appropriate position.
[1231] 4. Saving to the database and generating a response
[1232] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1233] 5. Display on the user's device
[1234] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. This allows the user to visually confirm and manipulate the 3D space of their desired "seaside cafe."
[1235] Specific examples
[1236] Example: Building a seaside cafe
[1237] On the user's device:
[1238] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[1239] server:
[1240] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The object IDs for each are then retrieved from the database and passed to the 3D model generation engine.
[1241] 3D model generation:
[1242] The 3D model generation engine generates 3D models of the specified background and buildings and places them in the appropriate positions.
[1243] Data storage and response generation:
[1244] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1245] On the user's device:
[1246] The device draws a 3D space based on the data it receives and displays it to the user.
[1247] In this way, the system of the present invention can intuitively generate, arrange, and display three-dimensional space using natural language, and is extremely useful, especially for users who are unfamiliar with three-dimensional operations.
[1248] The processing flow will be explained below.
[1249] Specific processing flow of the program
[1250] User operations and device behavior
[1251] Step 1:
[1252] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[1253] Step 2:
[1254] The user clicks the submit button, which causes the device to convert the entered text into JSON format and send an HTTP request to the appropriate API endpoint.
[1255] Server reception and initial processing
[1256] Step 3:
[1257] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[1258] Step 4:
[1259] The server passes the extracted natural language text to a natural language processing engine (NLP engine), which starts text analysis.
[1260] How the natural language processing engine works
[1261] Step 5:
[1262] The natural language processing engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[1263] Step 6:
[1264] The NLP engine uses the extracted keywords to retrieve the IDs of related 3D objects from the database. For example, it retrieves the object IDs of the seascape background and the cafe building.
[1265] How the 3D model generation engine works
[1266] Step 7:
[1267] The server passes the acquired object ID to the 3D model generation engine and instructs it to generate a 3D model based on this.
[1268] Step 8:
[1269] The 3D model generation engine generates the corresponding 3D model (ocean background, cafe building) based on the specified object ID and places it in the appropriate position.
[1270] Server data storage and response generation
[1271] Step 9:
[1272] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily recall the created space when revisiting.
[1273] Step 10:
[1274] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[1275] Final processing on the user's device
[1276] Step 11:
[1277] The user's device receives the JSON data returned from the server.
[1278] Step 12:
[1279] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render the 3D space, which is then visually displayed to the user.
[1280] Example 1
[1281] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1282] Conventional 3D space generation systems require specialized knowledge and skills, making them difficult for general users to use. It is also difficult to directly understand the user's natural language text and reflect it in the 3D space. Furthermore, there are issues with appropriate methods for saving and displaying the generated 3D space so that it can be reused and managed.
[1283] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1284] In this invention, the server includes means for analyzing received JSON data and extracting keywords and intent, means for retrieving related data from a database based on the extracted keywords and intent, and means for generating a three-dimensional object based on the retrieved data, thereby enabling a user to easily generate and operate a three-dimensional space using natural language.
[1285] "Natural language text" refers to sentences and phrases written in a language that a user uses on a daily basis.
[1286] "JSON format" is an abbreviation for JavaScript Object Notation, and is a data exchange format for expressing data in a format that is easy for humans to read and easy for machines to analyze.
[1287] A "server" is a computer that provides services and resources to other computers (clients) on a network.
[1288] A "natural language processing engine" is software that provides technology to analyze text written in natural language and understand its grammatical structure and meaning.
[1289] "Keywords" are meaningful and important words or phrases extracted from natural language text.
[1290] "Intent" refers to the purpose or desire that a user intends to convey through natural language text.
[1291] A "database" is a system for organizing and managing digital data and for efficiently searching and editing it.
[1292] A "3D object" is digital data that has a position and shape in space and is expressed in three-dimensional space.
[1293] A "user interface" is an interface through which a user interacts with a computer or software.
[1294] A "user ID" is an identifier that uniquely identifies a specific user.
[1295] A "3D rendering engine" is software for visually rendering three-dimensional data.
[1296] This invention relates to a system that allows users to easily create and manipulate three-dimensional space using natural language text. This system receives the user's natural language text, analyzes it, generates and places related three-dimensional objects, and performs various processes required to display the results on the user's device.
[1297] A user enters natural language text into an input field displayed on the user interface (UI) of their device. When the user completes the text entry and clicks the send button, the device converts this text data into JSON format and sends it to the server. The hardware used here includes personal computers, smartphones, tablets, etc. The software used is a web browser or a special client application.
[1298] The server receives the JSON data sent from the device. This data contains natural language text representing the user's request. This data is first logged and then passed to a natural language processing (NLP) engine, which performs syntactic and semantic analysis of the input text to extract keywords and intent. This can use software such as Google Cloud's Natural Language API or OpenAI's GPT model.
[1299] Based on the extracted keywords and intent, the server retrieves the object IDs of related 3D objects from a database. Databases such as MongoDB and MySQL are used for this purpose. For example, if the keywords "beach" and "cafe" are extracted, the corresponding object IDs (ocean background, cafe building) are retrieved from the database.
[1300] The server issues model generation instructions to a 3D model generation engine, such as Unity or Unreal Engine. The 3D model generation engine generates 3D data with the required shapes and attributes for the specified objects (e.g., ocean background, cafe building), and places them in the appropriate positions.
[1301] The generated 3D data is stored in the server's database, associated with the user ID. This makes it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1302] The user's device receives and analyzes the JSON data returned by the server. The device's 3D rendering engine (e.g., WebGL) then renders the 3D space based on this data, allowing the user to visually confirm and manipulate the 3D space of their desired "beachside cafe."
[1303] For example, a user enters "I want to create a seaside cafe" in the text input field and clicks the submit button. The system then executes the above process, and the 3D space is finally displayed on the user's device. In this way, the user can intuitively create and manipulate 3D spaces.
[1304] An example prompt is:
[1305] Enter "I want to create a seaside cafe" and click the submit button.
[1306] This system allows even users who are unfamiliar with 3D operations to easily generate and manipulate 3D spaces, and is expected to be widely used.
[1307] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1308] Step 1: User inputs natural language text
[1309] The user inputs natural language text into an input field displayed on the device's user interface (UI). For example, the user might input "I want to build a seaside cafe." This text input becomes the input for processing. When the user clicks the send button, the input text data is sent.
[1310] Step 2: Convert and send text data via your device
[1311] The terminal receives the text data entered by the user and converts it to JSON format, which looks like this:
[1312] json
[1313] {
[1314] "user_id": "12345",
[1315] "request": "I want to build a seaside cafe"
[1316] }
[1317] This JSON data is sent to the server. The input is the user's text and user ID, and the output is JSON format data.
[1318] Step 3: The server receives and analyzes the text data
[1319] The server receives JSON data sent from the device. The received data contains natural language text expressing the user's request. This data is logged. The server then passes the text to a natural language processing (NLP) engine to begin analysis. For example, Google Cloud's Natural Language API or OpenAI's GPT model is used as the NLP engine. The input is the received JSON data, and the output is the analysis results (extracted keywords and intent).
[1320] Step 4: Keyword extraction and database query by the server
[1321] The server obtains the extracted keywords and intent based on the analysis results of the NLP engine. In this example, the keywords "beach" and "cafe" are extracted. Next, the server obtains the object IDs of related 3D objects from a database based on these keywords. For example, MongoDB or MySQL is used as the database. The input is the extracted keywords, and the output is the corresponding object ID.
[1322] Step 5: Generate a model using the 3D model generation engine
[1323] Based on the acquired object ID, the server issues model generation instructions to the 3D model generation engine. For example, Unity or Unreal Engine is used as the 3D model generation engine. The generation engine generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes, and places it in the appropriate position. The input is the object ID, and the output is the generated 3D model data.
[1324] Step 6: Server saves generated data and generates response
[1325] The server stores the generated 3D data in a database, associating it with the user ID. This allows the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device. The following JSON data is created:
[1326] json
[1327] {
[1328] "user_id": "12345",
[1329] "3d_scene": {
[1330] "background": "sea_background.obj",
[1331] "objects": ["cafe_building.obj"]
[1332] }
[1333] }
[1334] The input is the generated 3D model data, and the output is the JSON data for the response.
[1335] Step 7: Analyze the received data on the device and display the 3D space
[1336] The device receives the JSON data returned from the server. It analyzes this data and uses the device's built-in 3D rendering engine (e.g., WebGL) to render the 3D space. The user can visually check and manipulate the 3D space of the desired "seaside cafe" on the device's UI. The input is the received JSON data, and the output is the displayed 3D space.
[1337] (Application example 1)
[1338] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1339] In conventional 3D space generation systems, it has been difficult for users to intuitively operate and generate 3D spaces using natural language. It has also been difficult to generate a virtual reality space that provides users with an interactive experience based on a specific theme. The present invention aims to solve these problems and provide a system that enables users to easily generate a store in a virtual reality space and provide an interactive experience based on a specific theme.
[1340] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1341] In this invention, the server includes means for receiving natural language text, means for analyzing the received natural language text and extracting keywords and intent, means for generating a three-dimensional object based on the extracted keywords and intent, means for arranging the generated three-dimensional object in a three-dimensional space, means for displaying the three-dimensional space on a user's terminal through a user interface, and means for generating a store in a virtual reality space based on a request from the user and providing an interactive experience based on a specific theme. This allows a user to easily generate a virtual store based on a specific theme using natural language and provide an interactive shopping experience.
[1342] "Natural language text" refers to text entered in a language format that is commonly used by users.
[1343] "Parsing" is the process of syntactically and semantically breaking down and understanding received natural language text.
[1344] "Keywords" refer to important words or phrases extracted from received natural language text that convey a particular meaning or intent.
[1345] "Intent" refers to the purpose or desire that a user wishes to express through natural language text.
[1346] A "3D object" is data that has a three-dimensional shape in digital space.
[1347] "Three-dimensional space" refers to a virtual space that has three dimensions: width, height, and depth.
[1348] "User interface" refers to the operation screen and input means that serve as the entry point for the user to interact with the system.
[1349] "Terminal" refers to a device through which a user accesses the system, and examples include smartphones and tablets.
[1350] A "virtual reality space" is a space in which users can experience a virtually generated three-dimensional digital environment.
[1351] "Store" means a digital location designed to offer goods and services within a virtual reality space.
[1352] A "theme" refers to a consistent concept or style when designing a virtual reality space or store.
[1353] An "interactive experience" is a two-way experience in which the user actively participates through interaction with the system.
[1354] This invention provides a system that allows users to intuitively create a store based on a specific theme in a virtual reality space using natural language text, providing an interactive experience. This system will be described in detail below.
[1355] First, a user uses a device such as a smartphone or tablet to input natural language text into a text input field within the application. For example, they might input, "I want to create a virtual store that sells clothes with a seaside theme." By sending this text, the device converts the text data into JSON format and sends it to the server.
[1356] The server receives the JSON data sent from the device, which contains natural language text expressing the user's request. It logs this data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In this specific example, the keywords "beach," "clothes," and "virtual store" are extracted, and based on these, the object IDs of related 3D objects (e.g., ocean background, shelves displaying clothes) are retrieved from the database.
[1357] Next, the 3D model generation engine generates a 3D model based on the extracted keywords and object IDs obtained from the database. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes and placed in the appropriate position.
[1358] The generated 3D data is associated with the user ID and saved in a database, making it easy for the user to access the space they created when they log in again. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1359] The device receives and analyzes the JSON data returned from the server. It then uses the device's built-in 3D rendering engine (using WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[1360] For example, if a user inputs "I want to create a virtual store selling books with a city theme," a virtual store will be created that generates a 3D model of the cityscape and bookshelves. In this way, interactive theme setting is possible based on the user's natural language input, making it easy to create virtual stores that suit a variety of scenes.
[1361] This invention is a system that uses an NLP engine to analyze natural language text, a 3D model generation engine to generate specified 3D objects, a database to store and manage the generated data, and a rendering engine such as WebGL or Unity to render the 3D space, thereby providing users with a rich interactive experience.
[1362] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1363] Step 1:
[1364] A user inputs natural language text into a text input field in the application using a smartphone or tablet. This input is text that includes a description of the 3D space the user desires, such as "I want to create a virtual store selling clothes with a seaside theme." The input text is then sent to the server in JSON format by clicking the submit button.
[1365] (input)
[1366] The user's natural language text input.
[1367] (output)
[1368] Text data in JSON format.
[1369] Step 2:
[1370] The server receives the JSON data sent from the device. The received data contains natural language text that expresses the user's request. It logs this data and passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent.
[1371] (input)
[1372] Text data in JSON format.
[1373] (output)
[1374] Keywords and intent as analysis results.
[1375] Step 3:
[1376] The server retrieves object IDs of related 3D objects from the database based on the keywords and intent extracted by the NLP engine. Specifically, object IDs corresponding to the keywords "beach," "clothes," and "virtual store" are retrieved from the database.
[1377] (input)
[1378] Keywords and Intent.
[1379] (output)
[1380] The corresponding object ID.
[1381] Step 4:
[1382] The server passes the acquired object IDs to the 3D model generation engine, which then generates a 3D model based on them. The specified objects (e.g., ocean background, shelves displaying clothes) are generated as 3D data with the required shape and attributes.
[1383] (input)
[1384] Object ID.
[1385] (output)
[1386] 3D model data.
[1387] Step 5:
[1388] The generated 3D model data is associated with the user ID and saved in the server database, making it easy for users to access the space they created when they log in again.
[1389] (input)
[1390] 3D model data, user ID.
[1391] (output)
[1392] Data stored in a database.
[1393] Step 6:
[1394] The server compiles the generated 3D space information in JSON format and returns it to the user's device, including information about the 3D space's configuration and object positions.
[1395] (input)
[1396] 3D model data.
[1397] (output)
[1398] 3D spatial information in JSON format.
[1399] Step 7:
[1400] The user's device receives the JSON data returned from the server. The device analyzes this data and uses a built-in 3D rendering engine (e.g., WebGL or Unity) to render a 3D space based on the received data. This allows the user to visually confirm and operate the 3D space of their desired "virtual store selling seaside-themed clothes."
[1401] (input)
[1402] 3D spatial information in JSON format.
[1403] (output)
[1404] 3D space displayed on the device.
[1405] Through the above steps, users can easily use natural language to create a virtual store based on a specific theme and provide an interactive shopping experience.
[1406] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1407] The system of the present invention allows users to easily create and manipulate three-dimensional spaces using natural language text. The following describes the specific program processing that recognizes the user's emotions and generates spaces based on those emotions.
[1408] 1. Actions taken by the user's device
[1409] The user enters natural language text into an input field displayed on the device's user interface (UI). For example, the user might enter "I want to build a seaside cafe." When the user clicks the send button, the device converts this text data into JSON format and sends it to the server.
[1410] 2. Receipt and analysis by the server
[1411] The server receives the JSON data sent from the device, extracts the natural language text from the request body, logs this text data, and passes it to the natural language processing (NLP) engine for analysis.
[1412] The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In a specific example, the keywords "beach" and "cafe" are extracted and their relationship is analyzed. In parallel, the emotion engine analyzes the user's emotions. For example, it determines whether the user's input reflects joy or sadness.
[1413] 3. Emotion-Based Adjustment
[1414] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, sadness, excitement, etc.), the server dynamically adjusts the characteristics and placement of the 3D object. For example, if a user expresses joy by saying, "I want to create a seaside cafe," the server selects a bright background and a lively cafe design.
[1415] 4. Generating 3D models
[1416] Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine, which then generates 3D data of the specified object (e.g., ocean background, cafe building) with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[1417] 5. Saving to the database and generating a response
[1418] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1419] 6. Display on the user's device
[1420] The device receives the JSON data returned from the server, analyzes it, and uses the device's built-in 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[1421] Specific examples
[1422] Example: Building a seaside cafe
[1423] On the user's device:
[1424] The user enters "I want to build a seaside cafe" in the text input field and clicks the send button. The device sends this text to the server.
[1425] server:
[1426] The server receives this text and analyzes it using an NLP engine. The keywords "beach" and "cafe" are extracted as a result of the analysis. The emotion engine also recognizes that the user is excited.
[1427] 3D model generation:
[1428] The 3D model generation engine generates 3D models of the specified background and buildings, and adjusts them into colorful and vibrant designs based on emotions.
[1429] Data storage and response generation:
[1430] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1431] On the user's device:
[1432] The device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches the user's emotions.
[1433] In this way, the system of the present invention uses natural language and emotion recognition to create and display an intuitive and personalized three-dimensional space.
[1434] The processing flow will be explained below.
[1435] MODE FOR CARRYING OUT THE INVENTION
[1436] Specific processing flow of the program
[1437] Step 1:
[1438] The user inputs natural language text into an input field displayed on the terminal's user interface. For example, the user inputs "I want to build a seaside cafe."
[1439] Step 2:
[1440] The user clicks the submit button, which causes the device to convert the entered text data into JSON format and send an HTTP request to the appropriate API endpoint.
[1441] Server reception and initial processing
[1442] Step 3:
[1443] The server receives the HTTP request sent from the terminal, extracts the natural language text from the request body, and records this text data in a log.
[1444] Step 4:
[1445] The server passes the extracted natural language text to a natural language processing (NLP) engine to begin analysis. At the same time, the text data is passed to an emotion engine for sentiment analysis.
[1446] Natural Language Processing and Sentiment Analysis
[1447] Step 5:
[1448] The NLP engine performs syntactic and semantic analysis of the received text to extract keywords and intent. In this example, the keywords "beach" and "cafe" are extracted.
[1449] Step 6:
[1450] The emotion engine analyzes the user's emotional state from the text. For example, emotions such as "joy" and "excitement" are recognized.
[1451] Step 7:
[1452] The NLP engine retrieves the IDs of related 3D objects from the database based on the extracted keywords, returning the object IDs for "seaside background" and "cafe building."
[1453] 3D model generation and adjustment
[1454] Step 8:
[1455] The server passes the acquired object ID and the user's emotional state to the 3D model generation engine, and instructs it to generate and adjust the 3D model based on this.
[1456] Step 9:
[1457] The 3D model generation engine generates a corresponding 3D model based on the specified object ID. The color and design of the generated model are changed based on the analysis results of the emotion engine. For example, if the user is expressing "joy," bright colors are used.
[1458] Data storage and response generation
[1459] Step 10:
[1460] The server associates the generated 3D data with the user ID and stores it in a database, allowing the user to easily access the previously generated space when they access it again.
[1461] Step 11:
[1462] The server generates a JSON packet based on the information of the saved 3D model to send back to the user's device.
[1463] Final processing on the user's device
[1464] Step 12:
[1465] The user's device receives the JSON data returned from the server.
[1466] Step 13:
[1467] The device analyzes the received data and uses a 3D rendering engine such as WebGL to render a 3D space based on the received data. The rendered space reflects an optimal design based on the user's input and emotions, allowing the user to visually experience a customized 3D space that matches their emotions.
[1468] Example 2
[1469] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1470] Conventional 3D space generation systems make it difficult for users to intuitively design spaces and create spaces that respond to a variety of emotions. In addition, design changes and space adjustments that take user emotions into account are performed manually, which presents a challenge in that they cannot respond quickly and flexibly.
[1471] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1472] In this invention, the server includes means for a user to input natural language text, means for converting the input natural language text into JSON format and transmitting the JSON format to the server, means for analyzing the natural language text received by the server and extracting keywords and intent, means for recognizing the user's emotion based on the analyzed text, means for generating a three-dimensional object based on the user's emotion and the extracted keywords, and means for dynamically arranging the generated three-dimensional object in a three-dimensional space and visually displaying it on the user's terminal through a user interface, thereby enabling the user to intuitively generate and display a personalized three-dimensional space based on the natural language text and emotion.
[1473] "Natural language text" refers to text data that a user inputs in everyday language.
[1474] "JSON format" is an abbreviation for JavaScript Object Notation, and is a format for describing and structuring data in text format.
[1475] A "server" refers to a computer system that provides services and processes data for other computers on a network.
[1476] "Keywords" refer to important words or phrases extracted from natural language text.
[1477] "Intention" refers to the purpose or content that a user is trying to communicate, as analyzed from natural language text.
[1478] "NLP engine" is an abbreviation for natural language processing engine, and refers to software that performs syntactic and semantic analysis of text.
[1479] "Emotion engine" refers to a software engine for recognizing a user's emotional state through text analysis.
[1480] A "three-dimensional object" refers to digital data that has a three-dimensional shape and attributes on a computer.
[1481] "Three-dimensional space" refers to a virtual space defined by a three-dimensional coordinate system.
[1482] "User interface" refers to the interface through which a user accesses and operates a system.
[1483] A "database" refers to a storage system for systematically managing and storing data.
[1484] The system of the present invention allows users to intuitively create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions. Specific implementation methods for this system are described below.
[1485] First, the user inputs natural language text using the terminal. The terminal has a user interface (UI) that displays a field for inputting natural language text. For example, the user might input "I want to build a seaside cafe." When the user clicks the send button, this text data is converted into JSON format and sent from the terminal to the server.
[1486] The server receives this JSON data using a protocol such as a REST API or WebSocket. It extracts natural language text from the received JSON data and records it in a log. It then analyzes the text using a Natural Language Processing (NLP) engine to extract keywords and user intent. For example, the Python libraries nltk and spaCy can be used for this analysis. For example, the keywords "beach" and "cafe" are extracted.
[1487] At the same time, the server uses an emotion engine to analyze the user's emotions. This analysis can utilize emotion analysis libraries such as TextBlob and VADER (Valence Aware Dictionary and sEntiment Reasoner). The analysis results determine whether the user's input reflects joy or sadness. For example, the server determines that the user's input reflects joy.
[1488] Next, the server dynamically adjusts the characteristics and placement of the 3D object based on the analysis results of the NLP engine and emotion engine. This is done using a 3D model generation engine (e.g., Blender or Unity for 3D modeling). The 3D model generation engine receives instructions from the server and generates the specified object (e.g., ocean background, cafe building) as 3D data with the required shape and attributes. It also adjusts the color and design based on the emotion.
[1489] The generated 3D data is associated with the user ID and stored in a database, which can be, for example, an SQL database or a NoSQL database (e.g., MySQL, MongoDB).
[1490] After the data is saved, the server compiles the generated 3D space information into JSON format and sends it back to the user's device. The user's device receives this JSON data and uses the device's built-in 3D rendering engine (e.g., WebGL) to draw the 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[1491] Specific examples
[1492] Example prompt sentence:
[1493] The user enters "I want to build a seaside cafe" in the text input field and clicks the submit button.
[1494] The server receives this text and analyzes it with an NLP engine. As a result of the analysis, the keywords "beach" and "cafe" are extracted, and the emotion engine recognizes that the user is excited.
[1495] The 3D model generation engine generates 3D models of the specified background and buildings, which are then adjusted into colorful and vibrant designs based on emotions.
[1496] The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1497] The user's device draws a 3D space based on the data received, visually displaying to the user a seaside cafe with a bright atmosphere that matches their emotions.
[1498] The system allows users to intuitively create and display personalized 3D spaces based on natural language text and emotions.
[1499] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1500] Step 1:
[1501] A user enters natural language text at a terminal.
[1502] Specific operation: The user enters the text "I want to create a seaside cafe" into the input field displayed on the device's user interface (UI) and clicks the send button.
[1503] Input: Natural language text entered by the user: "I want to build a seaside cafe."
[1504] Output: The terminal converts this text data into JSON format and sends it to the server.
[1505] Step 2:
[1506] The server receives the JSON data and extracts the natural language text.
[1507] Specific operation: The server receives JSON data sent from the device via REST API or WebSocket, extracts natural language text from the received data, and records it in a log.
[1508] Input: JSON format data sent from the terminal.
[1509] Output: The extracted natural language text "I want to build a seaside cafe."
[1510] Step 3:
[1511] The server analyzes the natural language text and extracts keywords and intent.
[1512] How it works: The server uses a natural language processing (NLP) engine to parse and semantically analyze the received text. For analysis, it uses libraries such as nltk and spaCy. For example, it extracts keywords such as "beach" and "cafe."
[1513] Input: Extracted natural language text "I want to build a seaside cafe."
[1514] Output: Extracted keywords "beach" and "cafe", along with the user's intent.
[1515] Step 4:
[1516] The server analyzes the user's emotions using an emotion engine.
[1517] What happens: The server uses an emotion engine (e.g., TextBlob or VADER) to analyze the emotion (happiness, sadness, excitement, etc.) that the text expresses. In this case, it determines that the text expresses happiness.
[1518] Input: Natural language text "I want to build a seaside cafe."
[1519] Output: Identified user emotion (e.g., joy).
[1520] Step 5:
[1521] The server issues instructions to generate a 3D object based on keywords and emotions.
[1522] How it works: The server combines the analysis results of the NLP engine and the emotion engine and issues instructions to the 3D model generation engine. Using 3D modeling tools such as Blender or Unity, the specified objects (ocean background, cafe building) are generated. The color and design are also adjusted based on the emotion.
[1523] Input: Keywords "beach" and "cafe", and user emotion (joy).
[1524] Output: The generated 3D object (seaside background and cafe building).
[1525] Step 6:
[1526] The generated 3D object is stored in a database and associated with a user ID.
[1527] What it does: The server saves the generated 3D object in a database (e.g., MySQL, MongoDB) and associates it with the user ID, so that the saved data can be easily retrieved when the user accesses the system again.
[1528] Input: The generated 3D object and a user ID.
[1529] Output: 3D objects and user information stored in a database.
[1530] Step 7:
[1531] The server sends the three-dimensional spatial information back to the user's device.
[1532] Specific operation: The server compiles the saved data into JSON format and returns it to the user's device.
[1533] Input: A 3D object stored in a database.
[1534] Output: JSON data containing the generated 3D spatial information.
[1535] Step 8:
[1536] The user's device draws a three-dimensional space based on the data received.
[1537] Specific operation: The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to draw a 3D space based on the received data. The drawn space has an optimal design based on the text and emotions entered by the user.
[1538] Input: JSON data received from the server.
[1539] Output: 3D space rendered on the user's device.
[1540] (Application example 2)
[1541] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1542] Conventional 3D space generation systems can generate 3D spaces using the user's natural language text, but these spaces are not individually customized based on the user's emotions. This makes it difficult to provide a space that reflects the user's desired atmosphere and experience, and presents the challenge of not being able to provide an optimal 3D space that meets the needs of each individual user.
[1543] The specific processing 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 receiving natural language text, means for analyzing the received natural language text and extracting keywords and intentions, and means for recognizing the emotional state of the user and dynamically adjusting the characteristics and placement of the three-dimensional object based on the emotion. This makes it possible to generate a three-dimensional space customized according to the user's emotion.
[1544] "Natural language text" is text data that has the form of words and sentences that humans use on a daily basis.
[1545] The "receiving means" is a device or software that has the function of receiving data sent from the user's terminal at the server.
[1546] The "analyzing means" is a device or software that has the function of syntactically and semantically analyzing the received natural language text and extracting keywords and intent.
[1547] "Keywords and intent" refers to important words extracted from the input natural language text and the purpose or meaning derived from those words.
[1548] A "three-dimensional object" refers to digital data that has a shape and attributes in three-dimensional space.
[1549] The "generating means" is a device or software that has the function of dynamically generating a three-dimensional object based on the analyzed keywords and intentions.
[1550] "Emotional state" refers to the psychological state a user exhibits when entering natural language text, and includes emotions such as excitement, joy, sadness, etc.
[1551] A "dynamic adjustment means" is a device or software that has the ability to change the characteristics of the generated three-dimensional object, such as its color, placement, and design, in real time according to the user's emotional state.
[1552] "Three-dimensional space" refers to a virtual space in a digital environment that is composed of three dimensions: width, height, and depth.
[1553] The "placement means" refers to a device or software that has the function of placing the generated three-dimensional object at an appropriate position in three-dimensional space.
[1554] "User interface" refers to the screens and methods by which a user interacts with a computer system or application.
[1555] "Terminal" refers to an electronic device that allows a user to input, display, and operate information.
[1556] "Display means" refers to a device or software that has the function of outputting the generated three-dimensional space in a form that can actually be seen on the user's terminal.
[1557] A specific embodiment of the system according to the present invention is described below. This system allows users to easily create and manipulate three-dimensional spaces using natural language text, and further recognizes the user's emotions and generates spaces based on those emotions.
[1558] System Configuration
[1559] The system includes the following main components:
[1560] 1. User device: A device through which a user inputs natural language text, such as a smartphone, tablet, PC, or head-mounted display (HMD).
[1561] 2. Server: A computer system that receives input natural language text and performs analysis and generation. Examples include natural language processing engines (e.g., SpaCy, Bert), emotion engines (e.g., VADER, Hugging Face Transformers), and 3D model generation engines (e.g., Blender, Three.js).
[1562] 3. Database: A system for storing and managing the generated 3D objects and spatial data (e.g., MongoDB, SQLite).
[1563] Program processing overview
[1564] 1. Receiving natural language text
[1565] The user uses the terminal to input natural language text, for example, "I want to create a boutique with an elegant and relaxed atmosphere," and clicks the send button. The terminal converts this text data into JSON format and sends it to the server.
[1566] 2. Receipt and analysis by the server
[1567] The server receives the JSON data sent from the device and extracts the natural language text from the request body. It logs this text data and simultaneously passes it to a natural language processing (NLP) engine for analysis. The NLP engine performs syntactic and semantic analysis of the input text to extract keywords and intent. In parallel, the emotion engine analyzes the user's emotions.
[1568] 3. Emotion-based adjustment and 3D model generation
[1569] The emotion engine recognizes the user's emotional state based on the analysis results of the NLP engine. Based on the recognized emotional state (e.g., joy, excitement, calm), the server dynamically adjusts the characteristics and placement of the 3D object. Based on the extracted keywords and object IDs obtained from the database, the server issues instructions to the 3D model generation engine. The 3D model generation engine generates the specified object as 3D data with the required shape and attributes. At this time, the color and design are adjusted based on the recognized emotional state.
[1570] 4. Saving to the database and generating a response
[1571] The generated 3D data is associated with the user ID and saved in a database. This allows the user to easily access the created space when they return. After saving, the server compiles the information about the generated 3D space in JSON format and sends it back to the user's device.
[1572] 5. Display on the user's device
[1573] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user.
[1574] Specific examples
[1575] Example: An elegant and relaxed boutique
[1576] User's device: The user enters "I want to create a boutique with an elegant and relaxed atmosphere" in the text input field and clicks the send button. The device sends this text to the server.
[1577] Server: The server receives this text and analyzes it using the NLP engine. As a result of the analysis, keywords such as "elegant" and "calm atmosphere" are extracted. The emotion engine also recognizes that the user is in a calm psychological state.
[1578] 3D Model Generation: The 3D model generation engine generates 3D models of the specified background and building, and adjusts the elegant and calm design based on emotions.
[1579] Data storage and response generation: The server stores the generated 3D spatial data in a database and generates a JSON packet to send back to the user's device.
[1580] User's device: The device draws a 3D space based on the data received, visually displaying to the user a boutique with an elegant and calm atmosphere that matches their emotions.
[1581] In this way, the system of the present invention realizes the generation and display of intuitive and personalized three-dimensional spaces using natural language and emotion recognition.
[1582] Prompt Sentence Examples
[1583] "Generate an elegant and tranquil 3D boutique based on user-entered text. Consider relevant keywords and emotions and incorporate the following elements: color scheme, interior design, displays, and lighting settings."
[1584] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1585] Step 1: Receiving input text
[1586] A user uses a terminal to enter natural language text and clicks the submit button. The terminal converts this text into JSON format and sends it to the server. The input of this step is the user's input text, and the output is JSON formatted data.
[1587] Step 2: Parsing natural language text
[1588] The server receives the JSON data sent from the terminal and extracts the natural language text from the request body. It logs this text data and passes it to the natural language processing engine to begin analysis. The input of this step is JSON-formatted data, and the output is the analysis results including keywords and intent.
[1589] Step 3: Sentiment Analysis
[1590] The server passes the parsed natural language text to an emotion engine to analyze the user's emotional state. Specifically, it determines whether the user is feeling joy, excitement, calm, etc. based on keywords and context extracted from the text. The input of this step is the parsed natural language text, and the output is the user's emotional state.
[1591] Step 4: Instructions for creating 3D objects
[1592] The server issues instructions to the 3D model generation engine based on the analysis results of the NLP engine and emotion engine. The instructions include the type of 3D object to be generated, its placement, and adjustments to color and design based on emotions. The inputs to this step are keywords and emotional states, and the output is generation instructions to the 3D model generation engine.
[1593] Step 5: 3D model generation
[1594] The 3D model generation engine generates 3D data of the specified object with the required shape and attributes according to instructions from the server. In this process, it adjusts the color, placement, and design of the object based on the recognized emotional state. The input to this step is the generation instructions, and the output is the generated 3D object data.
[1595] Step 6: Saving to the Database
[1596] The server associates the generated 3D data with the user ID and stores it in a database. This storage allows the user to easily recall the created 3D space when they return. The input of this step is the generated 3D object data, and the output is a data entry stored in the database.
[1597] Step 7: Generate and return response data
[1598] The server compiles the saved 3D space information in JSON format and sends it back to the user's device. The input of this step is the 3D object data saved in the database, and the output is the response data in JSON format.
[1599] Step 8: Viewing 3D Space
[1600] The user's device receives the JSON data returned from the server and uses a 3D rendering engine (e.g., WebGL) to render a 3D space based on the received data. The rendered space has an optimal design based on the text and emotions entered by the user. The input of this step is the response data in JSON format, and the output is a 3D space that the user can visually confirm.
[1601] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1602] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1603] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1604] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1605] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1606] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1607] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1608] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1609] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1610] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1611] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1612] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1613] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1614] 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.
[1615] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1616] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1617] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1618] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1619] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1620] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1621] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1622] The following is further disclosed regarding the above embodiment.
[1623] (Claim 1)
[1624] means for receiving natural language text;
[1625] means for analyzing received natural language text to extract keywords and intent;
[1626] A means for generating a three-dimensional object based on the extracted keywords and intent;
[1627] a means for placing the generated three-dimensional object in three-dimensional space;
[1628] means for displaying the three-dimensional space on a user's terminal through a user interface;
[1629] A system including:
[1630] (Claim 2)
[1631] 10. The system of claim 1, wherein the means for analyzing the received natural language text uses a natural language processing engine.
[1632] (Claim 3)
[1633] 2. The system according to claim 1, further comprising means for storing the generated data of the three-dimensional object and the three-dimensional space in a database.
[1634] "Example 1"
[1635] (Claim 1)
[1636] means for receiving natural language text;
[1637] A means for converting received natural language text into JSON format and sending it to a server;
[1638] A means for parsing the received JSON data and extracting keywords and intent;
[1639] A means for retrieving relevant data from a database based on the extracted keywords and intent;
[1640] means for generating a three-dimensional object based on the acquired data;
[1641] a means for appropriately placing the generated three-dimensional object in three-dimensional space;
[1642] a means for storing data of the generated three-dimensional object and three-dimensional space in a database;
[1643] means for displaying the three-dimensional space on a user's terminal through a user interface;
[1644] A system including:
[1645] (Claim 2)
[1646] 2. The system of claim 1, wherein the means for analyzing the received natural language text and extracting keywords and intent uses a natural language processing engine.
[1647] (Claim 3)
[1648] 2. The system according to claim 1, wherein the means for saving the generated three-dimensional object and three-dimensional space data in a database associates the data with a user ID.
[1649] "Application Example 1"
[1650] (Claim 1)
[1651] means for receiving natural language text;
[1652] means for analyzing received natural language text to extract keywords and intent;
[1653] A means for generating a three-dimensional object based on the extracted keywords and intent;
[1654] a means for placing the generated three-dimensional object in three-dimensional space;
[1655] means for displaying the three-dimensional space on a user's terminal through a user interface;
[1656] means for generating a store in a virtual reality space based on a request from the user and providing an interactive experience according to a specific theme;
[1657] A system including:
[1658] (Claim 2)
[1659] 10. The system of claim 1, wherein the means for analyzing the received natural language text uses a natural language processing engine.
[1660] (Claim 3)
[1661] 2. The system according to claim 1, further comprising means for storing the generated data of the three-dimensional object and the three-dimensional space in a database.
[1662] "Example 2: Combining Emotion Engines"
[1663] (Claim 1)
[1664] means for a user to input natural language text;
[1665] A means for converting input natural language text into JSON format and sending it to a server;
[1666] means for analyzing the received natural language text by the server to extract keywords and intent;
[1667] means for recognizing a user's emotion based on the analyzed text;
[1668] means for generating a three-dimensional object based on the user's emotion and the extracted keywords;
[1669] means for dynamically arranging the generated three-dimensional object in a three-dimensional space and visually displaying it on a user's terminal through a user interface;
[1670] A system including:
[1671] (Claim 2)
[1672] 10. The system of claim 1, wherein the means for analyzing the received natural language text uses a natural language processing engine and a sentiment analysis engine.
[1673] (Claim 3)
[1674] The system according to claim 1, further comprising means for storing the generated data of the three-dimensional object and the three-dimensional space in a database and for associating the stored data with a user ID.
[1675] "Application example 2 when combining emotion engines"
[1676] (Claim 1)
[1677] means for receiving natural language text;
[1678] means for analyzing received natural language text to extract keywords and intent;
[1679] A means for generating a three-dimensional object based on the extracted keywords and intent;
[1680] means for recognizing a user's emotional state and dynamically adjusting the properties and placement of the three-dimensional object based on the emotional state;
[1681] means for placing the adjusted three-dimensional object in three-dimensional space;
[1682] means for displaying the three-dimensional space on a user's terminal through a user interface;
[1683] A system including:
[1684] (Claim 2)
[1685] 10. The system of claim 1, wherein the means for analyzing the received natural language text uses a natural language processing engine.
[1686] (Claim 3)
[1687] 2. The system according to claim 1, further comprising means for storing the generated data of the three-dimensional object and the three-dimensional space in a database. [Explanation of symbols]
[1688] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving natural language text; means for analyzing received natural language text to extract keywords and intent; A means for generating a three-dimensional object based on the extracted keywords and intent; a means for placing the generated three-dimensional object in three-dimensional space; means for displaying the three-dimensional space on a user's terminal through a user interface; A system including:
2. 10. The system of claim 1, wherein the means for analyzing the received natural language text uses a natural language processing engine.
3. 2. The system according to claim 1, further comprising means for storing the generated data of the three-dimensional object and the three-dimensional space in a database.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A