system
The system efficiently collects, analyzes, and summarizes user reviews by tokenizing, sentiment analysis, and trend analysis, providing situation-specific insights for informed decision-making.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Existing systems struggle to efficiently collect, analyze, and summarize large volumes of user reviews, particularly those containing emotional content, and fail to provide situation-specific insights, leading to delays in providing useful information to users.
A system that includes means for collecting word-of-mouth data, tokenizing it, performing sentiment analysis, classifying into good, bad, and distinctive points, conducting trend analysis, and summarizing by situation, enabling efficient extraction of useful information.
Enables users to quickly obtain situation-specific summaries and trend analyses from large volumes of reviews, facilitating informed decision-making.
Smart Images

Figure 2026041380000001_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] There are a large number of reviews for various products and services on the Internet, but it is difficult to effectively collect and analyze these reviews and provide them as useful information to users. In particular, many reviews contain emotional content, so it is necessary to appropriately classify and analyze them. Another important issue is tracking changes in evaluations over time and providing useful information for each situation. Therefore, there is a need for a system that efficiently collects review data, performs sentiment analysis, trend analysis, and provides summaries for each situation. [Means for solving the problem]
[0005] The present invention provides a system including means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, and means for classifying and summarizing the word-of-mouth data by situation. This allows users to efficiently obtain word-of-mouth data and make decisions based on the sentiment analysis, trend analysis, and situation-specific information.
[0006] "Data source" refers to an external information system or database used to collect word-of-mouth data.
[0007] "Word-of-mouth data" refers to reviews and evaluation information posted by users about products and services.
[0008] "Tokenization" refers to a natural language processing technique that divides text into words and phrases.
[0009] "Sentiment analysis" refers to the technology of determining positive, negative, or neutral emotions from sentences or words.
[0010] "Good points" refers to information that is classified as a positive evaluation as a result of sentiment analysis.
[0011] "Negative points" refer to information that is classified as a negative evaluation as a result of sentiment analysis.
[0012] "Characteristic points" refer to noteworthy information that is not biased toward a particular emotion as a result of sentiment analysis.
[0013] "Trend analysis" refers to a technique that analyzes fluctuations and trends in word-of-mouth over a certain period of time based on time series data.
[0014] "Situation" refers to the specific situation or usage environment in which the review data was written.
[0015] A "summary" refers to a concise summary of important information extracted from a large amount of data. [Brief explanation of the drawings]
[0016] [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
[0017] 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.
[0018] First, the terms used in the following description will be explained.
[0019] 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).
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 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.
[0027] 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).
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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."
[0037] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0038] 1. Collecting review data
[0039] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0040] 2. Preprocessing of reviews
[0041] Next, the server preprocesses the collected review data. Specifically, the server initializes the natural language processing library, converts the review data to lowercase, removes unnecessary characters, and tokenizes it. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0042] 3. Analysis of the good, bad and distinctive features
[0043] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0044] 4. Trend Analysis
[0045] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0046] 5. Organize reviews by situation
[0047] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0048] Specific examples
[0049] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each. The user can check this information on their device and use it to help them choose a hotel.
[0050] The processing flow will be explained below.
[0051] Step 1:
[0052] The device connects to a data source and collects review data. Specifically, the device retrieves reviews about hotels, restaurants, tourist attractions, etc. from a database or API.
[0053] Step 2:
[0054] The server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words.
[0055] Step 3:
[0056] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to classify the sentiment of each token as positive, negative, or neutral.
[0057] Step 4:
[0058] The server classifies the review data based on the results of the sentiment analysis. Specifically, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "distinguishing points list."
[0059] Step 5:
[0060] The server performs trend analysis based on the date information of the review data, formats the dates, and groups the reviews by date and time. The server visualizes the fluctuations in the number of reviews over time in a graph and provides it to the user.
[0061] Step 6:
[0062] The server compiles the review data by situation, specifically categorizing reviews by situation such as business use or family trip, and creates summary information appropriate for each situation.
[0063] Step 7:
[0064] The user checks the results on their device. The server generates a list of good points, a list of bad points, a list of distinctive features, a trend graph, and a summary for each situation, which are then displayed to the user to assist in decision-making.
[0065] Example 1
[0066] 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."
[0067] Conventional review data collection and analysis systems require time for data preprocessing and tokenization, and are unable to efficiently classify sentiment analysis results or perform trend analysis. Furthermore, there is no established method for summarizing data by situation, and there is a lack of intuitive tools for users. As a result, it is difficult to efficiently extract useful information from large amounts of review data, resulting in delays in providing accurate information that meets user demand.
[0068] 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.
[0069] In this invention, the server includes means for acquiring word-of-mouth data from a data supply device, means for preprocessing the word-of-mouth data, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for visualizing the results of the trend analysis as time-series data, and means for classifying and summarizing the word-of-mouth data by situation. This allows users to efficiently extract necessary information from large amounts of word-of-mouth data and obtain summary information appropriate for a specific situation.
[0070] "Data supply device" refers to an external information system or database that stores and provides word-of-mouth data.
[0071] "Preprocessing" refers to the initial processing such as converting to lowercase, removing unnecessary characters, and tokenizing the collected word-of-mouth data in order to make it easier to analyze.
[0072] "Tokenization" refers to the process of dividing text into the smallest meaningful units, such as words or phrases.
[0073] "Sentiment analysis" refers to the process of using natural language processing technology to determine the sentiment (positive, negative, neutral) of words and phrases in text data.
[0074] A "good points list" is a list of reviews that have received positive ratings based on the results of sentiment analysis.
[0075] A "bad points list" refers to a list of reviews that have received negative ratings based on the results of sentiment analysis.
[0076] The "Characteristic Points List" refers to a list of reviews that have received a neutral rating, neither positive nor negative, based on the results of sentiment analysis.
[0077] "Trend analysis" refers to the process of analyzing fluctuations and trends in reviews over a specific period based on the date information of the review data.
[0078] "Visualization of time series data" refers to the process of displaying the results of trend analysis in a visual format such as a graph or chart based on the date information of word-of-mouth data.
[0079] "Situation" refers to the specific situation or environment in which the review was written, and is classified into categories such as business use or family trip.
[0080] "Summarization" refers to the process of extracting important information and key points from large amounts of word-of-mouth data and providing them in a concise, summarized format.
[0081] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0082] First, the device connects to a data provider to collect review data. A data provider refers to a location where review data is stored, such as an external information system or database. The device uses the Python libraries "Requests" and "BeautifulSoup" to obtain review data based on specified categories (e.g., hotels, restaurants, tourist attractions, etc.). The device then converts the collected data into JSON format and sends it to the server.
[0083] Next, the server preprocesses the received review data. For preprocessing, a natural language processing library (e.g., NLTK, spaCy) is used to convert the data to lowercase, remove unnecessary characters, and tokenize it. At this stage, the review data is formatted to be easier to analyze.
[0084] The server then performs sentiment analysis using the tokenized review data. For sentiment analysis, it uses sentiment analysis tools such as "VADER Sentiment" or "Google®'s Natural Language API." The server calculates a positive, negative, or neutral score for each review, and based on the evaluation results, categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0085] The server then performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server then visualizes the time series data using visualization tools such as Matplotlib and D3.js, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0086] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written, such as business use or family travel. The server uses a summarization algorithm such as "BERTSummarizer" to generate a summary appropriate for each situation and provides it to the user.
[0087] Specific examples
[0088] As a concrete example, the operation of the system when a user wants to know reviews about a particular hotel will be described.
[0089] 1. A user uses a device to send a request to collect review data for a specific hotel. The device accesses the travel site's API, retrieves the data using "Requests," and analyzes it using "BeautifulSoup."
[0090] 2. The terminal converts the collected review data into JSON format and sends it to the server.
[0091] 3. The data received by the server is preprocessed using "spaCy" to lowercase, remove unnecessary characters, and tokenize.
[0092] 4. The server performs sentiment analysis using "VADER Sentiment" and classifies each review as positive, negative, or neutral. Positive reviews are classified as "Pros" and negative reviews as "Cons."
[0093] 5. The server performs trend analysis based on the date information of the review data and visualizes fluctuations in ratings using "Matplotlib."
[0094] 6. The server classifies the reviews into situations such as business use or family trips, and generates summaries using "BERTSummarizer."
[0095] 7. Users can use their devices to check summary information based on trends and situations, which will help them choose a hotel.
[0096] Prompt Sentence Examples
[0097] "Please collect user reviews for a specific hotel and display them separately, including positive and negative reviews. Also, please provide a graph with a trend analysis for the past year."
[0098] This prompt allows the system to carry out the steps described above and provide the user with the necessary information.
[0099] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0100] Step 1: Collect review data
[0101] Subject: Device
[0102] Specific operation: The terminal sends an API request to the data provider to obtain review data. Specifically, the terminal uses the Python "Requests" library to send an HTTP request and parses the response data with "BeautifulSoup."
[0103] Input: Data provider's API endpoint and category (e.g., hotel, restaurant).
[0104] Data processing: The device parses the acquired data and extracts the necessary category information.
[0105] Output: Extracted review data (JSON format) ready to send to the server.
[0106] Step 2: Preprocessing the review data
[0107] Subject: Server
[0108] What it does: The server preprocesses the received review data. Specifically, it uses the natural language processing library "spaCy" to convert the data to lowercase, remove unnecessary characters, tokenize it, and remove stop words from the text if necessary.
[0109] Input: Collected review data (JSON format)
[0110] Data processing: The server converts the data characters to lower case, removes special characters and HTML tags using regular expressions, and tokenizes and splits them into words.
[0111] Output: Clean review data after preprocessing is complete.
[0112] Step 3: Sentiment analysis
[0113] Subject: Server
[0114] What it does: The server performs sentiment analysis on the pre-processed review data, using VADER Sentiment and Google's Natural Language API to calculate a positive, negative, or neutral score for each review.
[0115] Input: Preprocessed and clean review data
[0116] Data processing: A sentiment score is calculated for each review and classified as positive, negative, or neutral.
[0117] Output: Data categorizing positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0118] Step 4: Trend analysis
[0119] Subject: Server
[0120] Specific operation: The server performs trend analysis based on the date information of the sentiment-analyzed data. Specifically, it groups reviews by date and time based on the date information and visualizes the time series data using "Matplotlib" and "D3.js".
[0121] Input: Sentiment-analyzed data and its date information
[0122] Data processing: Analyze date information, aggregate reviews by year, month, and day, and generate trend lines and heat maps.
[0123] Output: Graphs and charts visualizing the trend analysis results.
[0124] Step 5: Organize reviews by situation
[0125] Subject: Server
[0126] How it works: The server classifies reviews by situation (e.g., business use, family trip, etc.) and generates summaries using a summarization algorithm such as "BERTSummarizer."
[0127] Input: Trended data and situation tags
[0128] Data processing: Classify information by situation and generate summaries appropriate for each group.
[0129] Output: Review data summarized by situation.
[0130] Through this series of processing steps, users can obtain detailed review analysis results based on specific categories and situations, and obtain summary information based on rating fluctuations and trends, as well as specific usage scenarios.
[0131] (Application example 1)
[0132] 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."
[0133] Conventional systems for collecting and analyzing customer reviews lack the means to effectively classify the data and provide it in a user-friendly format. In particular, when users are selecting a product, they are unable to easily obtain detailed statistical information or feedback trend analysis for a specific product, which hinders their ability to select the optimal product.
[0134] 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.
[0135] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for generating statistical information related to a specific product based on the word-of-mouth data, means for visualizing trends in word-of-mouth data related to the specific product, and means for classifying word-of-mouth data related to the specific product by situation. This makes it easier for users to visually grasp the word-of-mouth data related to a specific product in detail, enabling them to select the optimal product.
[0136] "Data source" refers to the location where word-of-mouth data is stored, such as an external information system or database for collecting word-of-mouth data.
[0137] "Word-of-mouth data" refers to text data such as reviews and comments written by users about specific products or services.
[0138] "Tokenization" refers to a natural language processing technique that divides a sentence into words.
[0139] "Sentiment analysis" refers to the process of analyzing words and phrases in text data and classifying their emotional tendencies as positive, negative, or neutral.
[0140] A "good points list" refers to a collection of reviews that contain positive ratings as a result of sentiment analysis.
[0141] A "negative list" refers to a collection of reviews that contain negative ratings as a result of sentiment analysis.
[0142] A "characteristic points list" refers to a collection of neutral reviews that do not belong to any particular category as a result of sentiment analysis.
[0143] "Trend analysis" refers to the process of analyzing fluctuations and trends in data over time based on the date information of word-of-mouth data.
[0144] "Visualization" refers to the visual display of data in the form of graphs, charts, etc.
[0145] "Situation" refers to the specific situation or usage environment in which the review was written.
[0146] "Statistical Information" refers to statistical data such as numbers and percentages generated based on collected and analyzed word-of-mouth data.
[0147] A "prompt sentence" refers to a sentence that contains instructions or questions to instruct a generative AI model to perform a specific process.
[0148] "Generative AI models" refer to artificial intelligence models that have been trained to perform a variety of tasks, including natural language processing.
[0149] The present invention relates to a system for effectively collecting and analyzing word-of-mouth data and providing useful information to users. Detailed embodiments for carrying out the present invention are described below.
[0150] First, a user uses a device to collect word-of-mouth data from a data source. A data source is an external information system or database used to collect word-of-mouth data. For example, reviews can be collected from the review page of an online shopping site.
[0151] Next, the server preprocesses the collected review data. This preprocessing includes tokenization, which divides sentences into words as part of natural language processing. This is done using the Python natural language processing library nltk. The server also converts the review text to lowercase and removes unnecessary characters. This processing makes the review data easier to analyze.
[0152] The server performs sentiment analysis on the tokenized review data. For sentiment analysis, it uses nltk's VADER Sentiment Analyzer. Sentiment analysis classifies words and phrases in the review data as positive, negative, or neutral. Based on the results of the sentiment analysis, the server categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and everything else into a "notable points list."
[0153] Additionally, the server performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server uses libraries such as pandas and matplotlib to visualize the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0154] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. For example, review data can be classified based on situations such as home use, outdoor activities, and gift-giving. Users can check this information on their devices and use it to help them choose products.
[0155] As a concrete example, if a user wants to collect reviews of a specific product (e.g., a home coffee maker), they can input the following prompt into the generative AI model:
[0156] Example prompt:
[0157] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0158] In this way, the user can easily obtain useful information about a particular product, enabling the user to select the most suitable product.
[0159] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0160] Step 1:
[0161] A user uses a device to collect word-of-mouth data about a specific product or service. For example, they access a review page on an online shopping site and retrieve related reviews. The input is the URL or ID of the specific product, and the output is the collected word-of-mouth data (in text format). This data is passed to the next processing step.
[0162] Step 2:
[0163] The server preprocesses the collected review data. This processing includes converting the review data to lowercase, removing unnecessary characters, and tokenizing it. Specifically, it uses the Python nltk library to split the text into words. The input is the review data collected in step 1, and the output is the preprocessed review data (tokenized text).
[0164] Step 3:
[0165] The server performs sentiment analysis on the tokenized review data. It uses nltk's VADER Sentiment Analyzer to calculate a positive, negative, or neutral score for each review. The input is the preprocessed review data, and the output is the sentiment analysis results (a data frame containing positive, negative, and neutral scores).
[0166] Step 4:
[0167] Based on the results of the sentiment analysis, the server classifies the review data into a "good points list," a "bad points list," and a "characteristic points list." Specifically, reviews with positive ratings are classified into the "good points list," reviews with negative ratings into the "bad points list," and the rest into the "characteristic points list." The input is the sentiment analysis results, and the output is a list categorized into good points, bad points, and characteristic points.
[0168] Step 5:
[0169] The server performs trend analysis based on the date information of the review data. It formats the date information and groups the reviews by date and time. It uses pandas and matplotlib to visualize the time series data as a graph. The input is a list of reviews and their date information, and the output is a trend graph (visualized data showing fluctuations in the number of reviews).
[0170] Step 6:
[0171] The server categorizes and summarizes the review data by situation. For example, reviews can be categorized based on situations such as home use, outdoor activities, and gifts. The input is all review data, and the output is a list of reviews categorized by each situation and their summary text. This allows users to easily check feedback that is tailored to a specific situation.
[0172] Example prompt:
[0173] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0174] 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.
[0175] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0176] 1. Collecting review data
[0177] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0178] 2. Preprocessing of reviews
[0179] Next, the server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0180] 3. Analysis of the good, bad and distinctive features
[0181] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0182] 4. Trend Analysis
[0183] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0184] 5. Organize reviews by situation
[0185] The server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0186] 6. User Emotion Recognition
[0187] This system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. The server then adjusts the content of the review information provided based on this emotion data. For example, if the user is feeling stressed, the server can prioritize displaying positive reviews.
[0188] Specific examples
[0189] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each.
[0190] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to that user, emphasizing their positive points. At the same time, the server accumulates the user's past emotional data and dynamically adjusts the way future reviews are presented based on that data. In this way, the user can check the final results on their device and choose the best hotel based on their emotional state.
[0191] The processing flow will be explained below.
[0192] Step 1:
[0193] The device connects to data sources to collect review data, specifically retrieving review data from databases or external APIs based on categories such as hotels, restaurants, and tourist attractions.
[0194] Step 2:
[0195] The server preprocesses the collected review data. First, the server converts the review data to lowercase and removes unnecessary characters (such as special characters and symbols). Then, the server tokenizes the review data and divides sentences into words.
[0196] Step 3:
[0197] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to determine the sentiment of each token. Specifically, the token is classified as positive, negative, or neutral.
[0198] Step 4:
[0199] The server categorizes the review data based on the results of sentiment analysis: positive reviews are classified into a "good points list," negative reviews into a "bad points list," and neutral or particularly noteworthy reviews into a "notable points list."
[0200] Step 5:
[0201] The server performs trend analysis based on the date information of the review data, formats the date of the review data, and groups the reviews by date and time.The server then visualizes the fluctuations in the number of reviews based on the time series data in a graph and provides it to the user.
[0202] Step 6:
[0203] The server classifies and summarizes the review data by situation, such as business use, family trip, couple use, etc., and creates and provides summary information appropriate for each situation.
[0204] Step 7:
[0205] The server uses an emotion engine to recognize the user's emotions. The emotion engine detects the user's real-time emotional state from their facial expressions, tone of voice, and input. For example, it collects user data using a camera or microphone.
[0206] Step 8:
[0207] The server adjusts the content of review information provided based on the user's emotional state recognized by the emotion engine. For example, if the server determines that the user is feeling stressed, it will prioritize displaying positive reviews. It also accumulates user emotional data and optimizes the way future review information is presented based on past data.
[0208] Step 9:
[0209] The user checks the results provided by the server through their device. For example, a list of good points, bad points, and distinctive features, a trend graph, and summary information for each situation are displayed on the device screen. The user can use this information to help them select hotels, restaurants, tourist spots, etc.
[0210] Example 2
[0211] 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."
[0212] While there are existing systems that collect and evaluate reviews based on them, they are unable to provide information that takes into account the user's emotional state, making it difficult to improve user satisfaction. Furthermore, there are issues with effectively preprocessing the collected review data and properly performing sentiment analysis, trend analysis, and situational classification. Furthermore, there is a lack of a way to adjust and provide information based on the user's real-time emotions, preventing users from making optimal choices.
[0213] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for dividing evaluation data, a means for emotionally analyzing the divided evaluation data, and a means for recognizing the user's emotions and adjusting the information to be provided. This makes it possible to provide information tailored to the user's emotional state, which is expected to improve user satisfaction. In addition, it enables effective pre-processing of evaluation data, detailed emotional analysis, appropriate trend analysis, and classification by situation.
[0214] "Data source" refers to an external information system or database used to collect evaluation data.
[0215] "Evaluation data" refers to feedback and word-of-mouth information from users about a subject.
[0216] "Splitting" refers to the process of breaking down data into analyzable units.
[0217] "Sentiment analysis" refers to the process of analyzing the emotional meaning of words and phrases in rating data and classifying them as positive, negative, or neutral.
[0218] A "good points list" refers to a list containing evaluation data that has been classified as positive through sentiment analysis.
[0219] A "negative list" refers to a list containing evaluation data that has been classified as negative through sentiment analysis.
[0220] "Significant points" refer to evaluation data that was classified as neutral in sentiment analysis but contains important information.
[0221] "Trend analysis" refers to the process of analyzing fluctuations and trends in the number of ratings based on the date information of the rating data.
[0222] "Context" refers to the particular conditions or usage situation under which the evaluation data was recorded.
[0223] "Summarization" refers to the process of simplifying evaluation data and presenting it in a form that extracts important information.
[0224] "Recognizing user emotions" refers to the process of determining emotions in real time based on the user's facial expressions, tone of voice, and input content.
[0225] "Adjusting information" refers to the process of dynamically optimizing the content of the evaluation data provided based on the user's emotional state.
[0226] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0227] First, the terminal collects review data. The terminal connects to a data source and obtains rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The software used is the "requests" library, which retrieves data via an API.
[0228] Next, the server preprocesses the reviews. The collected review data is converted to lowercase, unnecessary characters are removed, and then tokenized. The natural language processing library "NLTK" is used for tokenization. This preprocessing converts the review data into a format that is easy to analyze.
[0229] The server then performs sentiment analysis using the tokenized review data. The VADER sentiment analysis tool is used for this analysis. The server analyzes the emotional meaning of words and phrases in the collected review data and classifies them as positive, negative, or neutral. The server then categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0230] The server then performs trend analysis based on the date information of the review data. Using the Python libraries "pandas" and "matplotlib," the review data is grouped by date and time and the fluctuations are visualized. This allows users to easily understand the fluctuations and trends in the number of reviews over a specific period.
[0231] The server then categorizes the review data by situation and provides summaries. A situation refers to the specific situation or usage environment in which the review was written. The server uses algorithms such as TF-IDF to categorize the review data based on situation information and provides summaries appropriate for each situation.
[0232] Finally, the system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. For example, it uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The server dynamically adjusts the content of the evaluation data provided to the user based on this emotion data. In particular, if the user is feeling stressed, a better user experience can be provided by prioritizing the display of positive reviews.
[0233] Specific examples
[0234] For example, suppose a user wants to know reviews about a particular hotel. The user uses their device to collect hotel review data from an external database. The server preprocesses and tokenizes the collected review data. Next, it performs sentiment analysis, categorizing positive reviews into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on date information and visually displays fluctuations in hotel reviews. Finally, the server categorizes the reviews by situation, such as business use or family trip, and provides summaries.
[0235] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to the user and highlighting the positive points. This allows the user to choose the best hotel according to their emotional state.
[0236] Example prompts for generative AI models
[0237] "Write a Python script that collects positive reviews about a particular hotel, performs a sentiment analysis, and summarizes the results."
[0238] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0239] Step 1:
[0240] Collecting word-of-mouth data via devices
[0241] The device connects to the data source and retrieves rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The URL of the data source and category information are required as input. The device calls the API based on this information and collects review data. The output is the retrieved rating data. Specifically, the device retrieves data from the API using the Python "requests" library.
[0242] Step 2:
[0243] Preprocessing of review data by the server
[0244] The server receives the collected review data, converts it to lowercase, removes unnecessary characters, and tokenizes it. The input is the collected rating data. The natural language processing library "NLTK" is used for tokenization. The output is preprocessed tokenized data. Specifically, the server reads the data, converts it to lowercase, removes unnecessary characters, and tokenizes it.
[0245] Step 3:
[0246] Emotion analysis by server
[0247] The server analyzes the tokenized review data using the sentiment analysis tool "VADER." The input is preprocessed tokenized data. It classifies the data as positive, negative, or neutral based on words and phrases in the data. The output is sentiment-analyzed rating data, consisting of lists of positive, negative, and neutral. Specifically, the server uses "VADER" to calculate the sentiment score for each token and classifies it based on that.
[0248] Step 4:
[0249] Server-based trend analysis
[0250] The server performs trend analysis based on the date information of the review data. The input is the sentiment-analyzed data and its date information. Using Python's "pandas" and "matplotlib," the review data is grouped by date and its fluctuations are visualized. The output is visualized graphs and data. Specifically, the system formats the date information, creates time-series data, and displays it as a graph.
[0251] Step 5:
[0252] Server-generated summary by situation
[0253] The server classifies the review data by situation (usage status and conditions) and provides summaries. The input is sentiment-analyzed data and situation information. Using algorithms such as TF-IDF, the data is classified by situation and an appropriate summary is generated for each. The output is data summarized for each situation. Specifically, the data is filtered based on keywords related to each situation and then summarized.
[0254] Step 6:
[0255] Server-based user emotion recognition and content adjustment
[0256] The server recognizes the user's emotions and dynamically adjusts the information provided. Input is emotional data such as the user's facial expression, tone of voice, and input content. It uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The output is evaluation data adjusted according to the user's emotional state. Specifically, it recognizes the user's emotions in real time, and prioritizes displaying positive reviews if the user is dissatisfied.
[0257] (Application example 2)
[0258] 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."
[0259] Today's word-of-mouth data is massive and complex, making it difficult to collect and analyze it effectively. While there is a demand for information that appropriately reflects user emotions, current systems do not adequately provide information linked to emotion recognition. Therefore, a system is needed that can adjust word-of-mouth data based on user emotions and provide optimal information for specific applications.
[0260] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0261] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the sentiment analysis results, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for recognizing user emotions and adjusting word-of-mouth information based on the emotional data, and means for preferentially displaying word-of-mouth data according to a specific purpose, thereby making it possible to provide appropriate word-of-mouth information according to the user's emotions.
[0262] A "data source" is an information source such as an external information system or database from which word-of-mouth data is collected.
[0263] "Tokenization" is the process of dividing a sentence into words or phrases to make it easier to process natural language.
[0264] "Sentiment analysis" is the process by which words and phrases in review data are classified as positive, negative, or neutral.
[0265] The "good points list" is a list in which positive evaluations are classified as a result of sentiment analysis.
[0266] The "bad points list" is a list in which negative evaluations are classified as a result of sentiment analysis.
[0267] A "characteristic points list" is a list in which neutral evaluations that are neither positive nor negative are classified.
[0268] "Trend analysis" is a process that analyzes fluctuations and trends in data based on the date information of word-of-mouth data.
[0269] "Situation" refers to the specific situation or usage environment in which the review was written.
[0270] An "emotion engine" is a system that recognizes emotions from the user's facial expressions, tone of voice, input content, etc.
[0271] "User emotion data" is data relating to the user's emotional state as recognized through the emotion engine.
[0272] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions, and is particularly suitable for use on online shopping sites. Specific embodiments of this system are described below.
[0273] System Configuration
[0274] server
[0275] The server has the following features:
[0276] Data collection: Word-of-mouth data is collected from data sources such as external information systems and databases.
[0277] Data preprocessing: The review data is converted to lowercase, unnecessary characters are removed, and then tokenized.
[0278] Sentiment Analysis: Tokenized review data is analyzed using a sentiment engine to classify it into positive, negative, and neutral categories.
[0279] Classification: Based on sentiment analysis, the review data is classified into a list of positive points, negative points, and distinctive points.
[0280] Trend analysis: The date information of the review data is formatted and analyzed as time series data.
[0281] Classification by situation: Classify and summarize word-of-mouth data by situation.
[0282] User emotion recognition: An emotion engine is used to recognize user emotions and adjust the content of the reviews displayed based on the emotion data.
[0283] Prioritized display: Prioritize display of review data for specific purposes.
[0284] For specific analysis processing, we use TextBlob as an NLP (natural language processing) library and VaderSentiment as an emotion recognition tool.
[0285] Specific examples
[0286] For example, if a user is looking for reviews of a particular product on an online shopping site, the system works as follows:
[0287] User input: The user types, "I've been feeling stressed and depressed lately."
[0288] Data collection: The server collects word-of-mouth data for the relevant product from the data source.
[0289] Preprocessing and tokenization: The collected review data is first converted to lowercase and tokenized by removing unnecessary characters.
[0290] Sentiment Analysis and Classification: The tokenized data is analyzed through a sentiment engine to separate positive, negative, and neutral ratings, which are then classified into pros, cons, and special features.
[0291] Trend analysis: Trend analysis is performed based on the date information of the review data, and fluctuations and trends over time are visualized.
[0292] Classification by situation: Review data is classified and summarized by situation, such as business use or family trip.
[0293] Emotion recognition and display adjustment: If the user's emotion is recognized as negative, the server will prioritize providing the user with particularly positive reviews.
[0294] Prompt Sentence Examples
[0295] Specifically, consider the following prompt:
[0296] "If a user types, 'I've been feeling stressed and depressed lately,' the app should prioritize the most positive reviews. The system will display reviews that say, 'This product is great! I'm very satisfied.'"
[0297] This system allows users to view the most appropriate word-of-mouth information based on their emotional state, enabling them to make better purchasing decisions.
[0298] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0299] Step 1:
[0300] Data collection
[0301] The server collects word-of-mouth data from a data source, which may be an external information system or database that stores word-of-mouth information about specific products or services.
[0302] Input: Keywords related to your product or service
[0303] Output: List of reviews
[0304] Specific operation: The server sends an API request to the data source to retrieve review data related to the specified keywords.
[0305] Step 2:
[0306] Data Preprocessing
[0307] The server converts the collected review data to lowercase and tokenizes it by removing unnecessary characters.
[0308] Input: Raw review list
[0309] Output: Preprocessed tokenized review data
[0310] Specific operations: Using a Python script, the review text is converted to lowercase, unnecessary characters are removed using regular expressions, and tokenized using a library such as nltk.
[0311] Step 3:
[0312] sentiment analysis
[0313] The server analyzes the tokenized review data using a sentiment engine (e.g., VaderSentiment) and classifies it as positive, negative, or neutral.
[0314] Input: Tokenized review data
[0315] Output: Sentiment analysis results (positive, negative, neutral scores)
[0316] What it does: Initializes the VaderSentiment library, calculates a sentiment score for each review text, and classifies the sentiment based on that score.
[0317] Step 4:
[0318] classification
[0319] Based on the results of the sentiment analysis, the server classifies the reviews into a list of good points, bad points, and distinctive points.
[0320] Input: Sentiment analysis results
[0321] Output: list of good points, list of bad points, list of distinctive points
[0322] What it does: Add reviews with a positive sentiment score to a list of good points, reviews with a negative sentiment score to a list of bad points, and reviews with a neutral score to a list of good points.
[0323] Step 5:
[0324] Trend analysis
[0325] The server formats the date information of the word-of-mouth data and performs trend analysis on it as time-series data.
[0326] Input: Review data date information
[0327] Output: Time series data and its trend graph
[0328] What it does: Standardize date information, group reviews by date and time, and visualize fluctuations in the time series data (for example, generate a graph using matplotlib).
[0329] Step 6:
[0330] Classification by situation
[0331] The server classifies the word-of-mouth data by situation and summarizes the word-of-mouth in a particular situation.
[0332] Input: Review data and its situation information
[0333] Output: Summary list by situation
[0334] Specific operation: Analyzes review text to extract keywords related to specific situations, and groups and summarizes reviews related to those situations.
[0335] Step 7:
[0336] Emotion recognition and display adjustment
[0337] The server recognizes the user's emotions and adjusts the content of the word-of-mouth information displayed based on the emotional data.
[0338] Input: User emotion data (e.g., user-entered text and facial expression analysis results)
[0339] Output: List of adjusted reviews
[0340] Specific operation: The emotion engine is used to analyze user emotions in real time, and based on the results, adjustments are made, such as prioritizing the display of positive reviews.
[0341] Step 8:
[0342] Priority display
[0343] The server displays word-of-mouth data according to a specific purpose with priority.
[0344] Input: User's emotional data and usage information (e.g., wanting to relax, wanting more information, etc.)
[0345] Output: A prioritized list of reviews
[0346] Specific operation: Filters based on the user's usage information, and extracts and displays the review data that best matches the specific usage.
[0347] Through these processing steps, the most suitable word-of-mouth information is provided to the user.
[0348] 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.
[0349] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0350] 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.
[0351] [Second embodiment]
[0352] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0353] 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.
[0354] 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).
[0355] 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.
[0356] 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.
[0357] 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).
[0358] 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.
[0359] 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.
[0360] 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.
[0361] 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.
[0362] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0363] 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."
[0364] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0365] 1. Collecting review data
[0366] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0367] 2. Preprocessing of reviews
[0368] Next, the server preprocesses the collected review data. Specifically, the server initializes the natural language processing library, converts the review data to lowercase, removes unnecessary characters, and tokenizes it. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0369] 3. Analysis of the good, bad and distinctive features
[0370] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0371] 4. Trend Analysis
[0372] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0373] 5. Organize reviews by situation
[0374] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0375] Specific examples
[0376] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each. The user can check this information on their device and use it to help them choose a hotel.
[0377] The processing flow will be explained below.
[0378] Step 1:
[0379] The device connects to a data source and collects review data. Specifically, the device retrieves reviews about hotels, restaurants, tourist attractions, etc. from a database or API.
[0380] Step 2:
[0381] The server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words.
[0382] Step 3:
[0383] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to classify the sentiment of each token as positive, negative, or neutral.
[0384] Step 4:
[0385] The server classifies the review data based on the results of the sentiment analysis. Specifically, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "distinguishing points list."
[0386] Step 5:
[0387] The server performs trend analysis based on the date information of the review data, formats the dates, and groups the reviews by date and time. The server visualizes the fluctuations in the number of reviews over time in a graph and provides it to the user.
[0388] Step 6:
[0389] The server compiles the review data by situation, specifically categorizing reviews by situation such as business use or family trip, and creates summary information appropriate for each situation.
[0390] Step 7:
[0391] The user checks the results on their device. The server generates a list of good points, a list of bad points, a list of distinctive features, a trend graph, and a summary for each situation, which are then displayed to the user to assist in decision-making.
[0392] Example 1
[0393] 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."
[0394] Conventional review data collection and analysis systems require time for data preprocessing and tokenization, and are unable to efficiently classify sentiment analysis results or perform trend analysis. Furthermore, there is no established method for summarizing data by situation, and there is a lack of intuitive tools for users. As a result, it is difficult to efficiently extract useful information from large amounts of review data, resulting in delays in providing accurate information that meets user demand.
[0395] 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.
[0396] In this invention, the server includes means for acquiring word-of-mouth data from a data supply device, means for preprocessing the word-of-mouth data, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for visualizing the results of the trend analysis as time-series data, and means for classifying and summarizing the word-of-mouth data by situation. This allows users to efficiently extract necessary information from large amounts of word-of-mouth data and obtain summary information appropriate for a specific situation.
[0397] "Data supply device" refers to an external information system or database that stores and provides word-of-mouth data.
[0398] "Preprocessing" refers to the initial processing such as converting to lowercase, removing unnecessary characters, and tokenizing the collected word-of-mouth data in order to make it easier to analyze.
[0399] "Tokenization" refers to the process of dividing text into the smallest meaningful units, such as words or phrases.
[0400] "Sentiment analysis" refers to the process of using natural language processing technology to determine the sentiment (positive, negative, neutral) of words and phrases in text data.
[0401] A "good points list" is a list of reviews that have received positive ratings based on the results of sentiment analysis.
[0402] A "bad points list" refers to a list of reviews that have received negative ratings based on the results of sentiment analysis.
[0403] The "Characteristic Points List" refers to a list of reviews that have received a neutral rating, neither positive nor negative, based on the results of sentiment analysis.
[0404] "Trend analysis" refers to the process of analyzing fluctuations and trends in reviews over a specific period based on the date information of the review data.
[0405] "Visualization of time series data" refers to the process of displaying the results of trend analysis in a visual format such as a graph or chart based on the date information of word-of-mouth data.
[0406] "Situation" refers to the specific situation or environment in which the review was written, and is classified into categories such as business use or family trip.
[0407] "Summarization" refers to the process of extracting important information and key points from large amounts of word-of-mouth data and providing them in a concise, summarized format.
[0408] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0409] First, the device connects to a data provider to collect review data. A data provider refers to a location where review data is stored, such as an external information system or database. The device uses the Python libraries "Requests" and "BeautifulSoup" to obtain review data based on specified categories (e.g., hotels, restaurants, tourist attractions, etc.). The device then converts the collected data into JSON format and sends it to the server.
[0410] Next, the server preprocesses the received review data. For preprocessing, a natural language processing library (e.g., NLTK, spaCy) is used to convert the data to lowercase, remove unnecessary characters, and tokenize it. At this stage, the review data is formatted to be easier to analyze.
[0411] The server then performs sentiment analysis using the tokenized review data. For sentiment analysis, it uses tools such as VADER Sentiment or Google's Natural Language API. For each review, the server calculates a positive, negative, or neutral score, and based on the results, categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0412] The server then performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server then visualizes the time series data using visualization tools such as Matplotlib and D3.js, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0413] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written, such as business use or family travel. The server uses a summarization algorithm such as "BERTSummarizer" to generate a summary appropriate for each situation and provides it to the user.
[0414] Specific examples
[0415] As a concrete example, the operation of the system when a user wants to know reviews about a particular hotel will be described.
[0416] 1. A user uses a device to send a request to collect review data for a specific hotel. The device accesses the travel site's API, retrieves the data using "Requests," and analyzes it using "BeautifulSoup."
[0417] 2. The terminal converts the collected review data into JSON format and sends it to the server.
[0418] 3. The data received by the server is preprocessed using "spaCy" to lowercase, remove unnecessary characters, and tokenize.
[0419] 4. The server performs sentiment analysis using "VADER Sentiment" and classifies each review as positive, negative, or neutral. Positive reviews are classified as "Pros" and negative reviews as "Cons."
[0420] 5. The server performs trend analysis based on the date information of the review data and visualizes fluctuations in ratings using "Matplotlib."
[0421] 6. The server classifies the reviews into situations such as business use or family trips, and generates summaries using "BERTSummarizer."
[0422] 7. Users can use their devices to check summary information based on trends and situations, which will help them choose a hotel.
[0423] Prompt Sentence Examples
[0424] "Please collect user reviews for a specific hotel and display them separately, including positive and negative reviews. Also, please provide a graph with a trend analysis for the past year."
[0425] This prompt allows the system to carry out the steps described above and provide the user with the necessary information.
[0426] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0427] Step 1: Collect review data
[0428] Subject: Device
[0429] Specific operation: The terminal sends an API request to the data provider to obtain review data. Specifically, the terminal uses the Python "Requests" library to send an HTTP request and parses the response data with "BeautifulSoup."
[0430] Input: Data provider's API endpoint and category (e.g., hotel, restaurant).
[0431] Data processing: The device parses the acquired data and extracts the necessary category information.
[0432] Output: Extracted review data (JSON format) ready to send to the server.
[0433] Step 2: Preprocessing the review data
[0434] Subject: Server
[0435] What it does: The server preprocesses the received review data. Specifically, it uses the natural language processing library "spaCy" to convert the data to lowercase, remove unnecessary characters, tokenize it, and remove stop words from the text if necessary.
[0436] Input: Collected review data (JSON format)
[0437] Data processing: The server converts the data characters to lower case, removes special characters and HTML tags using regular expressions, and tokenizes and splits them into words.
[0438] Output: Clean review data after preprocessing is complete.
[0439] Step 3: Sentiment analysis
[0440] Subject: Server
[0441] What it does: The server performs sentiment analysis on the pre-processed review data, using VADER Sentiment and Google's Natural Language API to calculate a positive, negative, or neutral score for each review.
[0442] Input: Preprocessed and clean review data
[0443] Data processing: A sentiment score is calculated for each review and classified as positive, negative, or neutral.
[0444] Output: Data categorizing positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0445] Step 4: Trend analysis
[0446] Subject: Server
[0447] Specific operation: The server performs trend analysis based on the date information of the sentiment-analyzed data. Specifically, it groups reviews by date and time based on the date information and visualizes the time series data using "Matplotlib" and "D3.js".
[0448] Input: Sentiment-analyzed data and its date information
[0449] Data processing: Analyze date information, aggregate reviews by year, month, and day, and generate trend lines and heat maps.
[0450] Output: Graphs and charts visualizing the trend analysis results.
[0451] Step 5: Organize reviews by situation
[0452] Subject: Server
[0453] How it works: The server classifies reviews by situation (e.g., business use, family trip, etc.) and generates summaries using a summarization algorithm such as "BERTSummarizer."
[0454] Input: Trended data and situation tags
[0455] Data processing: Classify information by situation and generate summaries appropriate for each group.
[0456] Output: Review data summarized by situation.
[0457] Through this series of processing steps, users can obtain detailed review analysis results based on specific categories and situations, and obtain summary information based on rating fluctuations and trends, as well as specific usage scenarios.
[0458] (Application example 1)
[0459] 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."
[0460] Conventional systems for collecting and analyzing customer reviews lack the means to effectively classify the data and provide it in a user-friendly format. In particular, when users are selecting a product, they are unable to easily obtain detailed statistical information or feedback trend analysis for a specific product, which hinders their ability to select the optimal product.
[0461] 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.
[0462] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for generating statistical information related to a specific product based on the word-of-mouth data, means for visualizing trends in word-of-mouth data related to the specific product, and means for classifying word-of-mouth data related to the specific product by situation. This makes it easier for users to visually grasp the word-of-mouth data related to a specific product in detail, enabling them to select the optimal product.
[0463] "Data source" refers to the location where word-of-mouth data is stored, such as an external information system or database for collecting word-of-mouth data.
[0464] "Word-of-mouth data" refers to text data such as reviews and comments written by users about specific products or services.
[0465] "Tokenization" refers to a natural language processing technique that divides a sentence into words.
[0466] "Sentiment analysis" refers to the process of analyzing words and phrases in text data and classifying their emotional tendencies as positive, negative, or neutral.
[0467] A "good points list" refers to a collection of reviews that contain positive ratings as a result of sentiment analysis.
[0468] A "negative list" refers to a collection of reviews that contain negative ratings as a result of sentiment analysis.
[0469] A "characteristic points list" refers to a collection of neutral reviews that do not belong to any particular category as a result of sentiment analysis.
[0470] "Trend analysis" refers to the process of analyzing fluctuations and trends in data over time based on the date information of word-of-mouth data.
[0471] "Visualization" refers to the visual display of data in the form of graphs, charts, etc.
[0472] "Situation" refers to the specific situation or usage environment in which the review was written.
[0473] "Statistical Information" refers to statistical data such as numbers and percentages generated based on collected and analyzed word-of-mouth data.
[0474] A "prompt sentence" refers to a sentence that contains instructions or questions to instruct a generative AI model to perform a specific process.
[0475] "Generative AI models" refer to artificial intelligence models that have been trained to perform a variety of tasks, including natural language processing.
[0476] The present invention relates to a system for effectively collecting and analyzing word-of-mouth data and providing useful information to users. Detailed embodiments for carrying out the present invention are described below.
[0477] First, a user uses a device to collect word-of-mouth data from a data source. A data source is an external information system or database used to collect word-of-mouth data. For example, reviews can be collected from the review page of an online shopping site.
[0478] Next, the server preprocesses the collected review data. This preprocessing includes tokenization, which divides sentences into words as part of natural language processing. This is done using the Python natural language processing library nltk. The server also converts the review text to lowercase and removes unnecessary characters. This processing makes the review data easier to analyze.
[0479] The server performs sentiment analysis on the tokenized review data. For sentiment analysis, it uses nltk's VADER Sentiment Analyzer. Sentiment analysis classifies words and phrases in the review data as positive, negative, or neutral. Based on the results of the sentiment analysis, the server categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and everything else into a "notable points list."
[0480] Additionally, the server performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server uses libraries such as pandas and matplotlib to visualize the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0481] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. For example, review data can be classified based on situations such as home use, outdoor activities, and gift-giving. Users can check this information on their devices and use it to help them choose products.
[0482] As a concrete example, if a user wants to collect reviews of a specific product (e.g., a home coffee maker), they can input the following prompt into the generative AI model:
[0483] Example prompt:
[0484] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0485] In this way, the user can easily obtain useful information about a particular product, enabling the user to select the most suitable product.
[0486] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0487] Step 1:
[0488] A user uses a device to collect word-of-mouth data about a specific product or service. For example, they access a review page on an online shopping site and retrieve related reviews. The input is the URL or ID of the specific product, and the output is the collected word-of-mouth data (in text format). This data is passed to the next processing step.
[0489] Step 2:
[0490] The server preprocesses the collected review data. This processing includes converting the review data to lowercase, removing unnecessary characters, and tokenizing it. Specifically, it uses the Python nltk library to split the text into words. The input is the review data collected in step 1, and the output is the preprocessed review data (tokenized text).
[0491] Step 3:
[0492] The server performs sentiment analysis on the tokenized review data. It uses nltk's VADER Sentiment Analyzer to calculate a positive, negative, or neutral score for each review. The input is the preprocessed review data, and the output is the sentiment analysis results (a data frame containing positive, negative, and neutral scores).
[0493] Step 4:
[0494] Based on the results of the sentiment analysis, the server classifies the review data into a "good points list," a "bad points list," and a "characteristic points list." Specifically, reviews with positive ratings are classified into the "good points list," reviews with negative ratings into the "bad points list," and the rest into the "characteristic points list." The input is the sentiment analysis results, and the output is a list categorized into good points, bad points, and characteristic points.
[0495] Step 5:
[0496] The server performs trend analysis based on the date information of the review data. It formats the date information and groups the reviews by date and time. It uses pandas and matplotlib to visualize the time series data as a graph. The input is a list of reviews and their date information, and the output is a trend graph (visualized data showing fluctuations in the number of reviews).
[0497] Step 6:
[0498] The server categorizes and summarizes the review data by situation. For example, reviews can be categorized based on situations such as home use, outdoor activities, and gifts. The input is all review data, and the output is a list of reviews categorized by each situation and their summary text. This allows users to easily check feedback that is tailored to a specific situation.
[0499] Example prompt:
[0500] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0501] 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.
[0502] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0503] 1. Collecting review data
[0504] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0505] 2. Preprocessing of reviews
[0506] Next, the server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0507] 3. Analysis of the good, bad and distinctive features
[0508] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0509] 4. Trend Analysis
[0510] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0511] 5. Organize reviews by situation
[0512] The server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0513] 6. User Emotion Recognition
[0514] This system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. The server then adjusts the content of the review information provided based on this emotion data. For example, if the user is feeling stressed, the server can prioritize displaying positive reviews.
[0515] Specific examples
[0516] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each.
[0517] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to that user, emphasizing their positive points. At the same time, the server accumulates the user's past emotional data and dynamically adjusts the way future reviews are presented based on that data. In this way, the user can check the final results on their device and choose the best hotel based on their emotional state.
[0518] The processing flow will be explained below.
[0519] Step 1:
[0520] The device connects to data sources to collect review data, specifically retrieving review data from databases or external APIs based on categories such as hotels, restaurants, and tourist attractions.
[0521] Step 2:
[0522] The server preprocesses the collected review data. First, the server converts the review data to lowercase and removes unnecessary characters (such as special characters and symbols). Then, the server tokenizes the review data and divides sentences into words.
[0523] Step 3:
[0524] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to determine the sentiment of each token. Specifically, the token is classified as positive, negative, or neutral.
[0525] Step 4:
[0526] The server categorizes the review data based on the results of sentiment analysis: positive reviews are classified into a "good points list," negative reviews into a "bad points list," and neutral or particularly noteworthy reviews into a "notable points list."
[0527] Step 5:
[0528] The server performs trend analysis based on the date information of the review data, formats the date of the review data, and groups the reviews by date and time.The server then visualizes the fluctuations in the number of reviews based on the time series data in a graph and provides it to the user.
[0529] Step 6:
[0530] The server classifies and summarizes the review data by situation, such as business use, family trip, couple use, etc., and creates and provides summary information appropriate for each situation.
[0531] Step 7:
[0532] The server uses an emotion engine to recognize the user's emotions. The emotion engine detects the user's real-time emotional state from their facial expressions, tone of voice, and input. For example, it collects user data using a camera or microphone.
[0533] Step 8:
[0534] The server adjusts the content of review information provided based on the user's emotional state recognized by the emotion engine. For example, if the server determines that the user is feeling stressed, it will prioritize displaying positive reviews. It also accumulates user emotional data and optimizes the way future review information is presented based on past data.
[0535] Step 9:
[0536] The user checks the results provided by the server through their device. For example, a list of good points, bad points, and distinctive features, a trend graph, and summary information for each situation are displayed on the device screen. The user can use this information to help them select hotels, restaurants, tourist spots, etc.
[0537] Example 2
[0538] 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."
[0539] While there are existing systems that collect and evaluate reviews based on them, they are unable to provide information that takes into account the user's emotional state, making it difficult to improve user satisfaction. Furthermore, there are issues with effectively preprocessing the collected review data and properly performing sentiment analysis, trend analysis, and situational classification. Furthermore, there is a lack of a way to adjust and provide information based on the user's real-time emotions, preventing users from making optimal choices.
[0540] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for dividing evaluation data, a means for emotionally analyzing the divided evaluation data, and a means for recognizing the user's emotions and adjusting the information to be provided. This makes it possible to provide information tailored to the user's emotional state, which is expected to improve user satisfaction. In addition, it enables effective pre-processing of evaluation data, detailed emotional analysis, appropriate trend analysis, and classification by situation.
[0541] "Data source" refers to an external information system or database used to collect evaluation data.
[0542] "Evaluation data" refers to feedback and word-of-mouth information from users about a subject.
[0543] "Splitting" refers to the process of breaking down data into analyzable units.
[0544] "Sentiment analysis" refers to the process of analyzing the emotional meaning of words and phrases in rating data and classifying them as positive, negative, or neutral.
[0545] A "good points list" refers to a list containing evaluation data that has been classified as positive through sentiment analysis.
[0546] A "negative list" refers to a list containing evaluation data that has been classified as negative through sentiment analysis.
[0547] "Significant points" refer to evaluation data that was classified as neutral in sentiment analysis but contains important information.
[0548] "Trend analysis" refers to the process of analyzing fluctuations and trends in the number of ratings based on the date information of the rating data.
[0549] "Context" refers to the particular conditions or usage situation under which the evaluation data was recorded.
[0550] "Summarization" refers to the process of simplifying evaluation data and presenting it in a form that extracts important information.
[0551] "Recognizing user emotions" refers to the process of determining emotions in real time based on the user's facial expressions, tone of voice, and input content.
[0552] "Adjusting information" refers to the process of dynamically optimizing the content of the evaluation data provided based on the user's emotional state.
[0553] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0554] First, the terminal collects review data. The terminal connects to a data source and obtains rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The software used is the "requests" library, which retrieves data via an API.
[0555] Next, the server preprocesses the reviews. The collected review data is converted to lowercase, unnecessary characters are removed, and then tokenized. The natural language processing library "NLTK" is used for tokenization. This preprocessing converts the review data into a format that is easy to analyze.
[0556] The server then performs sentiment analysis using the tokenized review data. The VADER sentiment analysis tool is used for this analysis. The server analyzes the emotional meaning of words and phrases in the collected review data and classifies them as positive, negative, or neutral. The server then categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0557] The server then performs trend analysis based on the date information of the review data. Using the Python libraries "pandas" and "matplotlib," the review data is grouped by date and time and the fluctuations are visualized. This allows users to easily understand the fluctuations and trends in the number of reviews over a specific period.
[0558] The server then categorizes the review data by situation and provides summaries. A situation refers to the specific situation or usage environment in which the review was written. The server uses algorithms such as TF-IDF to categorize the review data based on situation information and provides summaries appropriate for each situation.
[0559] Finally, the system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. For example, it uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The server dynamically adjusts the content of the evaluation data provided to the user based on this emotion data. In particular, if the user is feeling stressed, a better user experience can be provided by prioritizing the display of positive reviews.
[0560] Specific examples
[0561] For example, suppose a user wants to know reviews about a particular hotel. The user uses their device to collect hotel review data from an external database. The server preprocesses and tokenizes the collected review data. Next, it performs sentiment analysis, categorizing positive reviews into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on date information and visually displays fluctuations in hotel reviews. Finally, the server categorizes the reviews by situation, such as business use or family trip, and provides summaries.
[0562] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to the user and highlighting the positive points. This allows the user to choose the best hotel according to their emotional state.
[0563] Example prompts for generative AI models
[0564] "Write a Python script that collects positive reviews about a particular hotel, performs a sentiment analysis, and summarizes the results."
[0565] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0566] Step 1:
[0567] Collecting word-of-mouth data via devices
[0568] The device connects to the data source and retrieves rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The URL of the data source and category information are required as input. The device calls the API based on this information and collects review data. The output is the retrieved rating data. Specifically, the device retrieves data from the API using the Python "requests" library.
[0569] Step 2:
[0570] Preprocessing of review data by the server
[0571] The server receives the collected review data, converts it to lowercase, removes unnecessary characters, and tokenizes it. The input is the collected rating data. The natural language processing library "NLTK" is used for tokenization. The output is preprocessed tokenized data. Specifically, the server reads the data, converts it to lowercase, removes unnecessary characters, and tokenizes it.
[0572] Step 3:
[0573] Emotion analysis by server
[0574] The server analyzes the tokenized review data using the sentiment analysis tool "VADER." The input is preprocessed tokenized data. It classifies the data as positive, negative, or neutral based on words and phrases in the data. The output is sentiment-analyzed rating data, consisting of lists of positive, negative, and neutral. Specifically, the server uses "VADER" to calculate the sentiment score for each token and classifies it based on that.
[0575] Step 4:
[0576] Server-based trend analysis
[0577] The server performs trend analysis based on the date information of the review data. The input is the sentiment-analyzed data and its date information. Using Python's "pandas" and "matplotlib," the review data is grouped by date and its fluctuations are visualized. The output is visualized graphs and data. Specifically, the system formats the date information, creates time-series data, and displays it as a graph.
[0578] Step 5:
[0579] Server-generated summary by situation
[0580] The server classifies the review data by situation (usage status and conditions) and provides summaries. The input is sentiment-analyzed data and situation information. Using algorithms such as TF-IDF, the data is classified by situation and an appropriate summary is generated for each. The output is data summarized for each situation. Specifically, the data is filtered based on keywords related to each situation and then summarized.
[0581] Step 6:
[0582] Server-based user emotion recognition and content adjustment
[0583] The server recognizes the user's emotions and dynamically adjusts the information provided. Input is emotional data such as the user's facial expression, tone of voice, and input content. It uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The output is evaluation data adjusted according to the user's emotional state. Specifically, it recognizes the user's emotions in real time, and prioritizes displaying positive reviews if the user is dissatisfied.
[0584] (Application example 2)
[0585] 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."
[0586] Today's word-of-mouth data is massive and complex, making it difficult to collect and analyze it effectively. While there is a demand for information that appropriately reflects user emotions, current systems do not adequately provide information linked to emotion recognition. Therefore, a system is needed that can adjust word-of-mouth data based on user emotions and provide optimal information for specific applications.
[0587] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0588] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the sentiment analysis results, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for recognizing user emotions and adjusting word-of-mouth information based on the emotional data, and means for preferentially displaying word-of-mouth data according to a specific purpose, thereby making it possible to provide appropriate word-of-mouth information according to the user's emotions.
[0589] A "data source" is an information source such as an external information system or database from which word-of-mouth data is collected.
[0590] "Tokenization" is the process of dividing a sentence into words or phrases to make it easier to process natural language.
[0591] "Sentiment analysis" is the process by which words and phrases in review data are classified as positive, negative, or neutral.
[0592] The "good points list" is a list in which positive evaluations are classified as a result of sentiment analysis.
[0593] The "bad points list" is a list in which negative evaluations are classified as a result of sentiment analysis.
[0594] A "characteristic points list" is a list in which neutral evaluations that are neither positive nor negative are classified.
[0595] "Trend analysis" is a process that analyzes fluctuations and trends in data based on the date information of word-of-mouth data.
[0596] "Situation" refers to the specific situation or usage environment in which the review was written.
[0597] An "emotion engine" is a system that recognizes emotions from the user's facial expressions, tone of voice, input content, etc.
[0598] "User emotion data" is data relating to the user's emotional state as recognized through the emotion engine.
[0599] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions, and is particularly suitable for use on online shopping sites. Specific embodiments of this system are described below.
[0600] System Configuration
[0601] server
[0602] The server has the following features:
[0603] Data collection: Word-of-mouth data is collected from data sources such as external information systems and databases.
[0604] Data preprocessing: The review data is converted to lowercase, unnecessary characters are removed, and then tokenized.
[0605] Sentiment Analysis: Tokenized review data is analyzed using a sentiment engine to classify it into positive, negative, and neutral categories.
[0606] Classification: Based on sentiment analysis, the review data is classified into a list of positive points, negative points, and distinctive points.
[0607] Trend analysis: The date information of the review data is formatted and analyzed as time series data.
[0608] Classification by situation: Classify and summarize word-of-mouth data by situation.
[0609] User emotion recognition: An emotion engine is used to recognize user emotions and adjust the content of the reviews displayed based on the emotion data.
[0610] Prioritized display: Prioritize display of review data for specific purposes.
[0611] For specific analysis processing, we use TextBlob as an NLP (natural language processing) library and VaderSentiment as an emotion recognition tool.
[0612] Specific examples
[0613] For example, if a user is looking for reviews of a particular product on an online shopping site, the system works as follows:
[0614] User input: The user types, "I've been feeling stressed and depressed lately."
[0615] Data collection: The server collects word-of-mouth data for the relevant product from the data source.
[0616] Preprocessing and tokenization: The collected review data is first converted to lowercase and tokenized by removing unnecessary characters.
[0617] Sentiment Analysis and Classification: The tokenized data is analyzed through a sentiment engine to separate positive, negative, and neutral ratings, which are then classified into pros, cons, and special features.
[0618] Trend analysis: Trend analysis is performed based on the date information of the review data, and fluctuations and trends over time are visualized.
[0619] Classification by situation: Review data is classified and summarized by situation, such as business use or family trip.
[0620] Emotion recognition and display adjustment: If the user's emotion is recognized as negative, the server will prioritize providing the user with particularly positive reviews.
[0621] Prompt Sentence Examples
[0622] Specifically, consider the following prompt:
[0623] "If a user types, 'I've been feeling stressed and depressed lately,' the app should prioritize the most positive reviews. The system will display reviews that say, 'This product is great! I'm very satisfied.'"
[0624] This system allows users to view the most appropriate word-of-mouth information based on their emotional state, enabling them to make better purchasing decisions.
[0625] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0626] Step 1:
[0627] Data collection
[0628] The server collects word-of-mouth data from a data source, which may be an external information system or database that stores word-of-mouth information about specific products or services.
[0629] Input: Keywords related to your product or service
[0630] Output: List of reviews
[0631] Specific operation: The server sends an API request to the data source to retrieve review data related to the specified keywords.
[0632] Step 2:
[0633] Data Preprocessing
[0634] The server converts the collected review data to lowercase and tokenizes it by removing unnecessary characters.
[0635] Input: Raw review list
[0636] Output: Preprocessed tokenized review data
[0637] Specific operations: Using a Python script, the review text is converted to lowercase, unnecessary characters are removed using regular expressions, and tokenized using a library such as nltk.
[0638] Step 3:
[0639] sentiment analysis
[0640] The server analyzes the tokenized review data using a sentiment engine (e.g., VaderSentiment) and classifies it as positive, negative, or neutral.
[0641] Input: Tokenized review data
[0642] Output: Sentiment analysis results (positive, negative, neutral scores)
[0643] What it does: Initializes the VaderSentiment library, calculates a sentiment score for each review text, and classifies the sentiment based on that score.
[0644] Step 4:
[0645] classification
[0646] Based on the results of the sentiment analysis, the server classifies the reviews into a list of good points, bad points, and distinctive points.
[0647] Input: Sentiment analysis results
[0648] Output: list of good points, list of bad points, list of distinctive points
[0649] What it does: Add reviews with a positive sentiment score to a list of good points, reviews with a negative sentiment score to a list of bad points, and reviews with a neutral score to a list of good points.
[0650] Step 5:
[0651] Trend analysis
[0652] The server formats the date information of the word-of-mouth data and performs trend analysis on it as time-series data.
[0653] Input: Review data date information
[0654] Output: Time series data and its trend graph
[0655] What it does: Standardize date information, group reviews by date and time, and visualize fluctuations in the time series data (for example, generate a graph using matplotlib).
[0656] Step 6:
[0657] Classification by situation
[0658] The server classifies the word-of-mouth data by situation and summarizes the word-of-mouth in a particular situation.
[0659] Input: Review data and its situation information
[0660] Output: Summary list by situation
[0661] Specific operation: Analyzes review text to extract keywords related to specific situations, and groups and summarizes reviews related to those situations.
[0662] Step 7:
[0663] Emotion recognition and display adjustment
[0664] The server recognizes the user's emotions and adjusts the content of the word-of-mouth information displayed based on the emotional data.
[0665] Input: User emotion data (e.g., user-entered text and facial expression analysis results)
[0666] Output: List of adjusted reviews
[0667] Specific operation: The emotion engine is used to analyze user emotions in real time, and based on the results, adjustments are made, such as prioritizing the display of positive reviews.
[0668] Step 8:
[0669] Priority display
[0670] The server displays word-of-mouth data according to a specific purpose with priority.
[0671] Input: User's emotional data and usage information (e.g., wanting to relax, wanting more information, etc.)
[0672] Output: A prioritized list of reviews
[0673] Specific operation: Filters based on the user's usage information, and extracts and displays the review data that best matches the specific usage.
[0674] Through these processing steps, the most suitable word-of-mouth information is provided to the user.
[0675] 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.
[0676] 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.
[0677] 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.
[0678] [Third embodiment]
[0679] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0680] 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.
[0681] 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).
[0682] 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.
[0683] 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.
[0684] 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).
[0685] 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.
[0686] 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.
[0687] 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.
[0688] 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.
[0689] 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.
[0690] 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."
[0691] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0692] 1. Collecting review data
[0693] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0694] 2. Preprocessing of reviews
[0695] Next, the server preprocesses the collected review data. Specifically, the server initializes the natural language processing library, converts the review data to lowercase, removes unnecessary characters, and tokenizes it. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0696] 3. Analysis of the good, bad and distinctive features
[0697] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0698] 4. Trend Analysis
[0699] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0700] 5. Organize reviews by situation
[0701] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0702] Specific examples
[0703] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each. The user can check this information on their device and use it to help them choose a hotel.
[0704] The processing flow will be explained below.
[0705] Step 1:
[0706] The device connects to a data source and collects review data. Specifically, the device retrieves reviews about hotels, restaurants, tourist attractions, etc. from a database or API.
[0707] Step 2:
[0708] The server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words.
[0709] Step 3:
[0710] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to classify the sentiment of each token as positive, negative, or neutral.
[0711] Step 4:
[0712] The server classifies the review data based on the results of the sentiment analysis. Specifically, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "distinguishing points list."
[0713] Step 5:
[0714] The server performs trend analysis based on the date information of the review data, formats the dates, and groups the reviews by date and time. The server visualizes the fluctuations in the number of reviews over time in a graph and provides it to the user.
[0715] Step 6:
[0716] The server compiles the review data by situation, specifically categorizing reviews by situation such as business use or family trip, and creates summary information appropriate for each situation.
[0717] Step 7:
[0718] The user checks the results on their device. The server generates a list of good points, a list of bad points, a list of distinctive features, a trend graph, and a summary for each situation, which are then displayed to the user to assist in decision-making.
[0719] Example 1
[0720] 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."
[0721] Conventional review data collection and analysis systems require time for data preprocessing and tokenization, and are unable to efficiently classify sentiment analysis results or perform trend analysis. Furthermore, there is no established method for summarizing data by situation, and there is a lack of intuitive tools for users. As a result, it is difficult to efficiently extract useful information from large amounts of review data, resulting in delays in providing accurate information that meets user demand.
[0722] 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.
[0723] In this invention, the server includes means for acquiring word-of-mouth data from a data supply device, means for preprocessing the word-of-mouth data, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for visualizing the results of the trend analysis as time-series data, and means for classifying and summarizing the word-of-mouth data by situation. This allows users to efficiently extract necessary information from large amounts of word-of-mouth data and obtain summary information appropriate for a specific situation.
[0724] "Data supply device" refers to an external information system or database that stores and provides word-of-mouth data.
[0725] "Preprocessing" refers to the initial processing such as converting to lowercase, removing unnecessary characters, and tokenizing the collected word-of-mouth data in order to make it easier to analyze.
[0726] "Tokenization" refers to the process of dividing text into the smallest meaningful units, such as words or phrases.
[0727] "Sentiment analysis" refers to the process of using natural language processing technology to determine the sentiment (positive, negative, neutral) of words and phrases in text data.
[0728] A "good points list" is a list of reviews that have received positive ratings based on the results of sentiment analysis.
[0729] A "bad points list" refers to a list of reviews that have received negative ratings based on the results of sentiment analysis.
[0730] The "Characteristic Points List" refers to a list of reviews that have received a neutral rating, neither positive nor negative, based on the results of sentiment analysis.
[0731] "Trend analysis" refers to the process of analyzing fluctuations and trends in reviews over a specific period based on the date information of the review data.
[0732] "Visualization of time series data" refers to the process of displaying the results of trend analysis in a visual format such as a graph or chart based on the date information of word-of-mouth data.
[0733] "Situation" refers to the specific situation or environment in which the review was written, and is classified into categories such as business use or family trip.
[0734] "Summarization" refers to the process of extracting important information and key points from large amounts of word-of-mouth data and providing them in a concise, summarized format.
[0735] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[0736] First, the device connects to a data provider to collect review data. A data provider refers to a location where review data is stored, such as an external information system or database. The device uses the Python libraries "Requests" and "BeautifulSoup" to obtain review data based on specified categories (e.g., hotels, restaurants, tourist attractions, etc.). The device then converts the collected data into JSON format and sends it to the server.
[0737] Next, the server preprocesses the received review data. For preprocessing, a natural language processing library (e.g., NLTK, spaCy) is used to convert the data to lowercase, remove unnecessary characters, and tokenize it. At this stage, the review data is formatted to be easier to analyze.
[0738] The server then performs sentiment analysis using the tokenized review data. For sentiment analysis, it uses tools such as VADER Sentiment or Google's Natural Language API. For each review, the server calculates a positive, negative, or neutral score, and based on the results, categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0739] The server then performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server then visualizes the time series data using visualization tools such as Matplotlib and D3.js, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0740] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written, such as business use or family travel. The server uses a summarization algorithm such as "BERTSummarizer" to generate a summary appropriate for each situation and provides it to the user.
[0741] Specific examples
[0742] As a concrete example, the operation of the system when a user wants to know reviews about a particular hotel will be described.
[0743] 1. A user uses a device to send a request to collect review data for a specific hotel. The device accesses the travel site's API, retrieves the data using "Requests," and analyzes it using "BeautifulSoup."
[0744] 2. The terminal converts the collected review data into JSON format and sends it to the server.
[0745] 3. The data received by the server is preprocessed using "spaCy" to lowercase, remove unnecessary characters, and tokenize.
[0746] 4. The server performs sentiment analysis using "VADER Sentiment" and classifies each review as positive, negative, or neutral. Positive reviews are classified as "Pros" and negative reviews as "Cons."
[0747] 5. The server performs trend analysis based on the date information of the review data and visualizes fluctuations in ratings using "Matplotlib."
[0748] 6. The server classifies the reviews into situations such as business use or family trips, and generates summaries using "BERTSummarizer."
[0749] 7. Users can use their devices to check summary information based on trends and situations, which will help them choose a hotel.
[0750] Prompt Sentence Examples
[0751] "Please collect user reviews for a specific hotel and display them separately, including positive and negative reviews. Also, please provide a graph with a trend analysis for the past year."
[0752] This prompt allows the system to carry out the steps described above and provide the user with the necessary information.
[0753] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0754] Step 1: Collect review data
[0755] Subject: Device
[0756] Specific operation: The terminal sends an API request to the data provider to obtain review data. Specifically, the terminal uses the Python "Requests" library to send an HTTP request and parses the response data with "BeautifulSoup."
[0757] Input: Data provider's API endpoint and category (e.g., hotel, restaurant).
[0758] Data processing: The device parses the acquired data and extracts the necessary category information.
[0759] Output: Extracted review data (JSON format) ready to send to the server.
[0760] Step 2: Preprocessing the review data
[0761] Subject: Server
[0762] What it does: The server preprocesses the received review data. Specifically, it uses the natural language processing library "spaCy" to convert the data to lowercase, remove unnecessary characters, tokenize it, and remove stop words from the text if necessary.
[0763] Input: Collected review data (JSON format)
[0764] Data processing: The server converts the data characters to lower case, removes special characters and HTML tags using regular expressions, and tokenizes and splits them into words.
[0765] Output: Clean review data after preprocessing is complete.
[0766] Step 3: Sentiment analysis
[0767] Subject: Server
[0768] What it does: The server performs sentiment analysis on the pre-processed review data, using VADER Sentiment and Google's Natural Language API to calculate a positive, negative, or neutral score for each review.
[0769] Input: Preprocessed and clean review data
[0770] Data processing: A sentiment score is calculated for each review and classified as positive, negative, or neutral.
[0771] Output: Data categorizing positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0772] Step 4: Trend analysis
[0773] Subject: Server
[0774] Specific operation: The server performs trend analysis based on the date information of the sentiment-analyzed data. Specifically, it groups reviews by date and time based on the date information and visualizes the time series data using "Matplotlib" and "D3.js".
[0775] Input: Sentiment-analyzed data and its date information
[0776] Data processing: Analyze date information, aggregate reviews by year, month, and day, and generate trend lines and heat maps.
[0777] Output: Graphs and charts visualizing the trend analysis results.
[0778] Step 5: Organize reviews by situation
[0779] Subject: Server
[0780] How it works: The server classifies reviews by situation (e.g., business use, family trip, etc.) and generates summaries using a summarization algorithm such as "BERTSummarizer."
[0781] Input: Trended data and situation tags
[0782] Data processing: Classify information by situation and generate summaries appropriate for each group.
[0783] Output: Review data summarized by situation.
[0784] Through this series of processing steps, users can obtain detailed review analysis results based on specific categories and situations, and obtain summary information based on rating fluctuations and trends, as well as specific usage scenarios.
[0785] (Application example 1)
[0786] 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."
[0787] Conventional systems for collecting and analyzing customer reviews lack the means to effectively classify the data and provide it in a user-friendly format. In particular, when users are selecting a product, they are unable to easily obtain detailed statistical information or feedback trend analysis for a specific product, which hinders their ability to select the optimal product.
[0788] 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.
[0789] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for generating statistical information related to a specific product based on the word-of-mouth data, means for visualizing trends in word-of-mouth data related to the specific product, and means for classifying word-of-mouth data related to the specific product by situation. This makes it easier for users to visually grasp the word-of-mouth data related to a specific product in detail, enabling them to select the optimal product.
[0790] "Data source" refers to the location where word-of-mouth data is stored, such as an external information system or database for collecting word-of-mouth data.
[0791] "Word-of-mouth data" refers to text data such as reviews and comments written by users about specific products or services.
[0792] "Tokenization" refers to a natural language processing technique that divides a sentence into words.
[0793] "Sentiment analysis" refers to the process of analyzing words and phrases in text data and classifying their emotional tendencies as positive, negative, or neutral.
[0794] A "good points list" refers to a collection of reviews that contain positive ratings as a result of sentiment analysis.
[0795] A "negative list" refers to a collection of reviews that contain negative ratings as a result of sentiment analysis.
[0796] A "characteristic points list" refers to a collection of neutral reviews that do not belong to any particular category as a result of sentiment analysis.
[0797] "Trend analysis" refers to the process of analyzing fluctuations and trends in data over time based on the date information of word-of-mouth data.
[0798] "Visualization" refers to the visual display of data in the form of graphs, charts, etc.
[0799] "Situation" refers to the specific situation or usage environment in which the review was written.
[0800] "Statistical Information" refers to statistical data such as numbers and percentages generated based on collected and analyzed word-of-mouth data.
[0801] A "prompt sentence" refers to a sentence that contains instructions or questions to instruct a generative AI model to perform a specific process.
[0802] "Generative AI models" refer to artificial intelligence models that have been trained to perform a variety of tasks, including natural language processing.
[0803] The present invention relates to a system for effectively collecting and analyzing word-of-mouth data and providing useful information to users. Detailed embodiments for carrying out the present invention are described below.
[0804] First, a user uses a device to collect word-of-mouth data from a data source. A data source is an external information system or database used to collect word-of-mouth data. For example, reviews can be collected from the review page of an online shopping site.
[0805] Next, the server preprocesses the collected review data. This preprocessing includes tokenization, which divides sentences into words as part of natural language processing. This is done using the Python natural language processing library nltk. The server also converts the review text to lowercase and removes unnecessary characters. This processing makes the review data easier to analyze.
[0806] The server performs sentiment analysis on the tokenized review data. For sentiment analysis, it uses nltk's VADER Sentiment Analyzer. Sentiment analysis classifies words and phrases in the review data as positive, negative, or neutral. Based on the results of the sentiment analysis, the server categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and everything else into a "notable points list."
[0807] Additionally, the server performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server uses libraries such as pandas and matplotlib to visualize the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0808] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. For example, review data can be classified based on situations such as home use, outdoor activities, and gift-giving. Users can check this information on their devices and use it to help them choose products.
[0809] As a concrete example, if a user wants to collect reviews of a specific product (e.g., a home coffee maker), they can input the following prompt into the generative AI model:
[0810] Example prompt:
[0811] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0812] In this way, the user can easily obtain useful information about a particular product, enabling the user to select the most suitable product.
[0813] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0814] Step 1:
[0815] A user uses a device to collect word-of-mouth data about a specific product or service. For example, they access a review page on an online shopping site and retrieve related reviews. The input is the URL or ID of the specific product, and the output is the collected word-of-mouth data (in text format). This data is passed to the next processing step.
[0816] Step 2:
[0817] The server preprocesses the collected review data. This processing includes converting the review data to lowercase, removing unnecessary characters, and tokenizing it. Specifically, it uses the Python nltk library to split the text into words. The input is the review data collected in step 1, and the output is the preprocessed review data (tokenized text).
[0818] Step 3:
[0819] The server performs sentiment analysis on the tokenized review data. It uses nltk's VADER Sentiment Analyzer to calculate a positive, negative, or neutral score for each review. The input is the preprocessed review data, and the output is the sentiment analysis results (a data frame containing positive, negative, and neutral scores).
[0820] Step 4:
[0821] Based on the results of the sentiment analysis, the server classifies the review data into a "good points list," a "bad points list," and a "characteristic points list." Specifically, reviews with positive ratings are classified into the "good points list," reviews with negative ratings into the "bad points list," and the rest into the "characteristic points list." The input is the sentiment analysis results, and the output is a list categorized into good points, bad points, and characteristic points.
[0822] Step 5:
[0823] The server performs trend analysis based on the date information of the review data. It formats the date information and groups the reviews by date and time. It uses pandas and matplotlib to visualize the time series data as a graph. The input is a list of reviews and their date information, and the output is a trend graph (visualized data showing fluctuations in the number of reviews).
[0824] Step 6:
[0825] The server categorizes and summarizes the review data by situation. For example, reviews can be categorized based on situations such as home use, outdoor activities, and gifts. The input is all review data, and the output is a list of reviews categorized by each situation and their summary text. This allows users to easily check feedback that is tailored to a specific situation.
[0826] Example prompt:
[0827] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[0828] 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.
[0829] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0830] 1. Collecting review data
[0831] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[0832] 2. Preprocessing of reviews
[0833] Next, the server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[0834] 3. Analysis of the good, bad and distinctive features
[0835] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[0836] 4. Trend Analysis
[0837] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[0838] 5. Organize reviews by situation
[0839] The server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[0840] 6. User Emotion Recognition
[0841] This system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. The server then adjusts the content of the review information provided based on this emotion data. For example, if the user is feeling stressed, the server can prioritize displaying positive reviews.
[0842] Specific examples
[0843] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each.
[0844] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to that user, emphasizing their positive points. At the same time, the server accumulates the user's past emotional data and dynamically adjusts the way future reviews are presented based on that data. In this way, the user can check the final results on their device and choose the best hotel based on their emotional state.
[0845] The processing flow will be explained below.
[0846] Step 1:
[0847] The device connects to data sources to collect review data, specifically retrieving review data from databases or external APIs based on categories such as hotels, restaurants, and tourist attractions.
[0848] Step 2:
[0849] The server preprocesses the collected review data. First, the server converts the review data to lowercase and removes unnecessary characters (such as special characters and symbols). Then, the server tokenizes the review data and divides sentences into words.
[0850] Step 3:
[0851] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to determine the sentiment of each token. Specifically, the token is classified as positive, negative, or neutral.
[0852] Step 4:
[0853] The server categorizes the review data based on the results of sentiment analysis: positive reviews are classified into a "good points list," negative reviews into a "bad points list," and neutral or particularly noteworthy reviews into a "notable points list."
[0854] Step 5:
[0855] The server performs trend analysis based on the date information of the review data, formats the date of the review data, and groups the reviews by date and time.The server then visualizes the fluctuations in the number of reviews based on the time series data in a graph and provides it to the user.
[0856] Step 6:
[0857] The server classifies and summarizes the review data by situation, such as business use, family trip, couple use, etc., and creates and provides summary information appropriate for each situation.
[0858] Step 7:
[0859] The server uses an emotion engine to recognize the user's emotions. The emotion engine detects the user's real-time emotional state from their facial expressions, tone of voice, and input. For example, it collects user data using a camera or microphone.
[0860] Step 8:
[0861] The server adjusts the content of review information provided based on the user's emotional state recognized by the emotion engine. For example, if the server determines that the user is feeling stressed, it will prioritize displaying positive reviews. It also accumulates user emotional data and optimizes the way future review information is presented based on past data.
[0862] Step 9:
[0863] The user checks the results provided by the server through their device. For example, a list of good points, bad points, and distinctive features, a trend graph, and summary information for each situation are displayed on the device screen. The user can use this information to help them select hotels, restaurants, tourist spots, etc.
[0864] Example 2
[0865] 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."
[0866] While there are existing systems that collect and evaluate reviews based on them, they are unable to provide information that takes into account the user's emotional state, making it difficult to improve user satisfaction. Furthermore, there are issues with effectively preprocessing the collected review data and properly performing sentiment analysis, trend analysis, and situational classification. Furthermore, there is a lack of a way to adjust and provide information based on the user's real-time emotions, preventing users from making optimal choices.
[0867] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for dividing evaluation data, a means for emotionally analyzing the divided evaluation data, and a means for recognizing the user's emotions and adjusting the information to be provided. This makes it possible to provide information tailored to the user's emotional state, which is expected to improve user satisfaction. In addition, it enables effective pre-processing of evaluation data, detailed emotional analysis, appropriate trend analysis, and classification by situation.
[0868] "Data source" refers to an external information system or database used to collect evaluation data.
[0869] "Evaluation data" refers to feedback and word-of-mouth information from users about a subject.
[0870] "Splitting" refers to the process of breaking down data into analyzable units.
[0871] "Sentiment analysis" refers to the process of analyzing the emotional meaning of words and phrases in rating data and classifying them as positive, negative, or neutral.
[0872] A "good points list" refers to a list containing evaluation data that has been classified as positive through sentiment analysis.
[0873] A "negative list" refers to a list containing evaluation data that has been classified as negative through sentiment analysis.
[0874] "Significant points" refer to evaluation data that was classified as neutral in sentiment analysis but contains important information.
[0875] "Trend analysis" refers to the process of analyzing fluctuations and trends in the number of ratings based on the date information of the rating data.
[0876] "Context" refers to the particular conditions or usage situation under which the evaluation data was recorded.
[0877] "Summarization" refers to the process of simplifying evaluation data and presenting it in a form that extracts important information.
[0878] "Recognizing user emotions" refers to the process of determining emotions in real time based on the user's facial expressions, tone of voice, and input content.
[0879] "Adjusting information" refers to the process of dynamically optimizing the content of the evaluation data provided based on the user's emotional state.
[0880] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[0881] First, the terminal collects review data. The terminal connects to a data source and obtains rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The software used is the "requests" library, which retrieves data via an API.
[0882] Next, the server preprocesses the reviews. The collected review data is converted to lowercase, unnecessary characters are removed, and then tokenized. The natural language processing library "NLTK" is used for tokenization. This preprocessing converts the review data into a format that is easy to analyze.
[0883] The server then performs sentiment analysis using the tokenized review data. The VADER sentiment analysis tool is used for this analysis. The server analyzes the emotional meaning of words and phrases in the collected review data and classifies them as positive, negative, or neutral. The server then categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[0884] The server then performs trend analysis based on the date information of the review data. Using the Python libraries "pandas" and "matplotlib," the review data is grouped by date and time and the fluctuations are visualized. This allows users to easily understand the fluctuations and trends in the number of reviews over a specific period.
[0885] The server then categorizes the review data by situation and provides summaries. A situation refers to the specific situation or usage environment in which the review was written. The server uses algorithms such as TF-IDF to categorize the review data based on situation information and provides summaries appropriate for each situation.
[0886] Finally, the system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. For example, it uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The server dynamically adjusts the content of the evaluation data provided to the user based on this emotion data. In particular, if the user is feeling stressed, a better user experience can be provided by prioritizing the display of positive reviews.
[0887] Specific examples
[0888] For example, suppose a user wants to know reviews about a particular hotel. The user uses their device to collect hotel review data from an external database. The server preprocesses and tokenizes the collected review data. Next, it performs sentiment analysis, categorizing positive reviews into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on date information and visually displays fluctuations in hotel reviews. Finally, the server categorizes the reviews by situation, such as business use or family trip, and provides summaries.
[0889] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to the user and highlighting the positive points. This allows the user to choose the best hotel according to their emotional state.
[0890] Example prompts for generative AI models
[0891] "Write a Python script that collects positive reviews about a particular hotel, performs a sentiment analysis, and summarizes the results."
[0892] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0893] Step 1:
[0894] Collecting word-of-mouth data via devices
[0895] The device connects to the data source and retrieves rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The URL of the data source and category information are required as input. The device calls the API based on this information and collects review data. The output is the retrieved rating data. Specifically, the device retrieves data from the API using the Python "requests" library.
[0896] Step 2:
[0897] Preprocessing of review data by the server
[0898] The server receives the collected review data, converts it to lowercase, removes unnecessary characters, and tokenizes it. The input is the collected rating data. The natural language processing library "NLTK" is used for tokenization. The output is preprocessed tokenized data. Specifically, the server reads the data, converts it to lowercase, removes unnecessary characters, and tokenizes it.
[0899] Step 3:
[0900] Emotion analysis by server
[0901] The server analyzes the tokenized review data using the sentiment analysis tool "VADER." The input is preprocessed tokenized data. It classifies the data as positive, negative, or neutral based on words and phrases in the data. The output is sentiment-analyzed rating data, consisting of lists of positive, negative, and neutral. Specifically, the server uses "VADER" to calculate the sentiment score for each token and classifies it based on that.
[0902] Step 4:
[0903] Server-based trend analysis
[0904] The server performs trend analysis based on the date information of the review data. The input is the sentiment-analyzed data and its date information. Using Python's "pandas" and "matplotlib," the review data is grouped by date and its fluctuations are visualized. The output is visualized graphs and data. Specifically, the system formats the date information, creates time-series data, and displays it as a graph.
[0905] Step 5:
[0906] Server-generated summary by situation
[0907] The server classifies the review data by situation (usage status and conditions) and provides summaries. The input is sentiment-analyzed data and situation information. Using algorithms such as TF-IDF, the data is classified by situation and an appropriate summary is generated for each. The output is data summarized for each situation. Specifically, the data is filtered based on keywords related to each situation and then summarized.
[0908] Step 6:
[0909] Server-based user emotion recognition and content adjustment
[0910] The server recognizes the user's emotions and dynamically adjusts the information provided. Input is emotional data such as the user's facial expression, tone of voice, and input content. It uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The output is evaluation data adjusted according to the user's emotional state. Specifically, it recognizes the user's emotions in real time, and prioritizes displaying positive reviews if the user is dissatisfied.
[0911] (Application example 2)
[0912] 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."
[0913] Today's word-of-mouth data is massive and complex, making it difficult to collect and analyze it effectively. While there is a demand for information that appropriately reflects user emotions, current systems do not adequately provide information linked to emotion recognition. Therefore, a system is needed that can adjust word-of-mouth data based on user emotions and provide optimal information for specific applications.
[0914] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0915] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the sentiment analysis results, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for recognizing user emotions and adjusting word-of-mouth information based on the emotional data, and means for preferentially displaying word-of-mouth data according to a specific purpose, thereby making it possible to provide appropriate word-of-mouth information according to the user's emotions.
[0916] A "data source" is an information source such as an external information system or database from which word-of-mouth data is collected.
[0917] "Tokenization" is the process of dividing a sentence into words or phrases to make it easier to process natural language.
[0918] "Sentiment analysis" is the process by which words and phrases in review data are classified as positive, negative, or neutral.
[0919] The "good points list" is a list in which positive evaluations are classified as a result of sentiment analysis.
[0920] The "bad points list" is a list in which negative evaluations are classified as a result of sentiment analysis.
[0921] A "characteristic points list" is a list in which neutral evaluations that are neither positive nor negative are classified.
[0922] "Trend analysis" is a process that analyzes fluctuations and trends in data based on the date information of word-of-mouth data.
[0923] "Situation" refers to the specific situation or usage environment in which the review was written.
[0924] An "emotion engine" is a system that recognizes emotions from the user's facial expressions, tone of voice, input content, etc.
[0925] "User emotion data" is data relating to the user's emotional state as recognized through the emotion engine.
[0926] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions, and is particularly suitable for use on online shopping sites. Specific embodiments of this system are described below.
[0927] System Configuration
[0928] server
[0929] The server has the following features:
[0930] Data collection: Word-of-mouth data is collected from data sources such as external information systems and databases.
[0931] Data preprocessing: The review data is converted to lowercase, unnecessary characters are removed, and then tokenized.
[0932] Sentiment Analysis: Tokenized review data is analyzed using a sentiment engine to classify it into positive, negative, and neutral categories.
[0933] Classification: Based on sentiment analysis, the review data is classified into a list of positive points, negative points, and distinctive points.
[0934] Trend analysis: The date information of the review data is formatted and analyzed as time series data.
[0935] Classification by situation: Classify and summarize word-of-mouth data by situation.
[0936] User emotion recognition: An emotion engine is used to recognize user emotions and adjust the content of the reviews displayed based on the emotion data.
[0937] Prioritized display: Prioritize display of review data for specific purposes.
[0938] For specific analysis processing, we use TextBlob as an NLP (natural language processing) library and VaderSentiment as an emotion recognition tool.
[0939] Specific examples
[0940] For example, if a user is looking for reviews of a particular product on an online shopping site, the system works as follows:
[0941] User input: The user types, "I've been feeling stressed and depressed lately."
[0942] Data collection: The server collects word-of-mouth data for the relevant product from the data source.
[0943] Preprocessing and tokenization: The collected review data is first converted to lowercase and tokenized by removing unnecessary characters.
[0944] Sentiment Analysis and Classification: The tokenized data is analyzed through a sentiment engine to separate positive, negative, and neutral ratings, which are then classified into pros, cons, and special features.
[0945] Trend analysis: Trend analysis is performed based on the date information of the review data, and fluctuations and trends over time are visualized.
[0946] Classification by situation: Review data is classified and summarized by situation, such as business use or family trip.
[0947] Emotion recognition and display adjustment: If the user's emotion is recognized as negative, the server will prioritize providing the user with particularly positive reviews.
[0948] Prompt Sentence Examples
[0949] Specifically, consider the following prompt:
[0950] "If a user types, 'I've been feeling stressed and depressed lately,' the app should prioritize the most positive reviews. The system will display reviews that say, 'This product is great! I'm very satisfied.'"
[0951] This system allows users to view the most appropriate word-of-mouth information based on their emotional state, enabling them to make better purchasing decisions.
[0952] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0953] Step 1:
[0954] Data collection
[0955] The server collects word-of-mouth data from a data source, which may be an external information system or database that stores word-of-mouth information about specific products or services.
[0956] Input: Keywords related to your product or service
[0957] Output: List of reviews
[0958] Specific operation: The server sends an API request to the data source to retrieve review data related to the specified keywords.
[0959] Step 2:
[0960] Data Preprocessing
[0961] The server converts the collected review data to lowercase and tokenizes it by removing unnecessary characters.
[0962] Input: Raw review list
[0963] Output: Preprocessed tokenized review data
[0964] Specific operations: Using a Python script, the review text is converted to lowercase, unnecessary characters are removed using regular expressions, and tokenized using a library such as nltk.
[0965] Step 3:
[0966] sentiment analysis
[0967] The server analyzes the tokenized review data using a sentiment engine (e.g., VaderSentiment) and classifies it as positive, negative, or neutral.
[0968] Input: Tokenized review data
[0969] Output: Sentiment analysis results (positive, negative, neutral scores)
[0970] What it does: Initializes the VaderSentiment library, calculates a sentiment score for each review text, and classifies the sentiment based on that score.
[0971] Step 4:
[0972] classification
[0973] Based on the results of the sentiment analysis, the server classifies the reviews into a list of good points, bad points, and distinctive points.
[0974] Input: Sentiment analysis results
[0975] Output: list of good points, list of bad points, list of distinctive points
[0976] What it does: Add reviews with a positive sentiment score to a list of good points, reviews with a negative sentiment score to a list of bad points, and reviews with a neutral score to a list of good points.
[0977] Step 5:
[0978] Trend analysis
[0979] The server formats the date information of the word-of-mouth data and performs trend analysis on it as time-series data.
[0980] Input: Review data date information
[0981] Output: Time series data and its trend graph
[0982] What it does: Standardize date information, group reviews by date and time, and visualize fluctuations in the time series data (for example, generate a graph using matplotlib).
[0983] Step 6:
[0984] Classification by situation
[0985] The server classifies the word-of-mouth data by situation and summarizes the word-of-mouth in a particular situation.
[0986] Input: Review data and its situation information
[0987] Output: Summary list by situation
[0988] Specific operation: Analyzes review text to extract keywords related to specific situations, and groups and summarizes reviews related to those situations.
[0989] Step 7:
[0990] Emotion recognition and display adjustment
[0991] The server recognizes the user's emotions and adjusts the content of the word-of-mouth information displayed based on the emotional data.
[0992] Input: User emotion data (e.g., user-entered text and facial expression analysis results)
[0993] Output: List of adjusted reviews
[0994] Specific operation: The emotion engine is used to analyze user emotions in real time, and based on the results, adjustments are made, such as prioritizing the display of positive reviews.
[0995] Step 8:
[0996] Priority display
[0997] The server displays word-of-mouth data according to a specific purpose with priority.
[0998] Input: User's emotional data and usage information (e.g., wanting to relax, wanting more information, etc.)
[0999] Output: A prioritized list of reviews
[1000] Specific operation: Filters based on the user's usage information, and extracts and displays the review data that best matches the specific usage.
[1001] Through these processing steps, the most suitable word-of-mouth information is provided to the user.
[1002] 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.
[1003] 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.
[1004] 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.
[1005] [Fourth embodiment]
[1006] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1007] 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.
[1008] 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).
[1009] 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.
[1010] 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.
[1011] 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).
[1012] 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.
[1013] 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.
[1014] 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.
[1015] 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.
[1016] 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.
[1017] 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.
[1018] 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."
[1019] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[1020] 1. Collecting review data
[1021] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[1022] 2. Preprocessing of reviews
[1023] Next, the server preprocesses the collected review data. Specifically, the server initializes the natural language processing library, converts the review data to lowercase, removes unnecessary characters, and tokenizes it. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[1024] 3. Analysis of the good, bad and distinctive features
[1025] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[1026] 4. Trend Analysis
[1027] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[1028] 5. Organize reviews by situation
[1029] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[1030] Specific examples
[1031] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each. The user can check this information on their device and use it to help them choose a hotel.
[1032] The processing flow will be explained below.
[1033] Step 1:
[1034] The device connects to a data source and collects review data. Specifically, the device retrieves reviews about hotels, restaurants, tourist attractions, etc. from a database or API.
[1035] Step 2:
[1036] The server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words.
[1037] Step 3:
[1038] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to classify the sentiment of each token as positive, negative, or neutral.
[1039] Step 4:
[1040] The server classifies the review data based on the results of the sentiment analysis. Specifically, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "distinguishing points list."
[1041] Step 5:
[1042] The server performs trend analysis based on the date information of the review data, formats the dates, and groups the reviews by date and time. The server visualizes the fluctuations in the number of reviews over time in a graph and provides it to the user.
[1043] Step 6:
[1044] The server compiles the review data by situation, specifically categorizing reviews by situation such as business use or family trip, and creates summary information appropriate for each situation.
[1045] Step 7:
[1046] The user checks the results on their device. The server generates a list of good points, a list of bad points, a list of distinctive features, a trend graph, and a summary for each situation, which are then displayed to the user to assist in decision-making.
[1047] Example 1
[1048] 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."
[1049] Conventional review data collection and analysis systems require time for data preprocessing and tokenization, and are unable to efficiently classify sentiment analysis results or perform trend analysis. Furthermore, there is no established method for summarizing data by situation, and there is a lack of intuitive tools for users. As a result, it is difficult to efficiently extract useful information from large amounts of review data, resulting in delays in providing accurate information that meets user demand.
[1050] 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.
[1051] In this invention, the server includes means for acquiring word-of-mouth data from a data supply device, means for preprocessing the word-of-mouth data, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for visualizing the results of the trend analysis as time-series data, and means for classifying and summarizing the word-of-mouth data by situation. This allows users to efficiently extract necessary information from large amounts of word-of-mouth data and obtain summary information appropriate for a specific situation.
[1052] "Data supply device" refers to an external information system or database that stores and provides word-of-mouth data.
[1053] "Preprocessing" refers to the initial processing such as converting to lowercase, removing unnecessary characters, and tokenizing the collected word-of-mouth data in order to make it easier to analyze.
[1054] "Tokenization" refers to the process of dividing text into the smallest meaningful units, such as words or phrases.
[1055] "Sentiment analysis" refers to the process of using natural language processing technology to determine the sentiment (positive, negative, neutral) of words and phrases in text data.
[1056] A "good points list" is a list of reviews that have received positive ratings based on the results of sentiment analysis.
[1057] A "bad points list" refers to a list of reviews that have received negative ratings based on the results of sentiment analysis.
[1058] The "Characteristic Points List" refers to a list of reviews that have received a neutral rating, neither positive nor negative, based on the results of sentiment analysis.
[1059] "Trend analysis" refers to the process of analyzing fluctuations and trends in reviews over a specific period based on the date information of the review data.
[1060] "Visualization of time series data" refers to the process of displaying the results of trend analysis in a visual format such as a graph or chart based on the date information of word-of-mouth data.
[1061] "Situation" refers to the specific situation or environment in which the review was written, and is classified into categories such as business use or family trip.
[1062] "Summarization" refers to the process of extracting important information and key points from large amounts of word-of-mouth data and providing them in a concise, summarized format.
[1063] The present invention is a system for effectively collecting and analyzing word-of-mouth data and providing it as useful information to users. An embodiment of this system will be specifically described below.
[1064] First, the device connects to a data provider to collect review data. A data provider refers to a location where review data is stored, such as an external information system or database. The device uses the Python libraries "Requests" and "BeautifulSoup" to obtain review data based on specified categories (e.g., hotels, restaurants, tourist attractions, etc.). The device then converts the collected data into JSON format and sends it to the server.
[1065] Next, the server preprocesses the received review data. For preprocessing, a natural language processing library (e.g., NLTK, spaCy) is used to convert the data to lowercase, remove unnecessary characters, and tokenize it. At this stage, the review data is formatted to be easier to analyze.
[1066] The server then performs sentiment analysis using the tokenized review data. For sentiment analysis, it uses tools such as VADER Sentiment or Google's Natural Language API. For each review, the server calculates a positive, negative, or neutral score, and based on the results, categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[1067] The server then performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server then visualizes the time series data using visualization tools such as Matplotlib and D3.js, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[1068] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written, such as business use or family travel. The server uses a summarization algorithm such as "BERTSummarizer" to generate a summary appropriate for each situation and provides it to the user.
[1069] Specific examples
[1070] As a concrete example, the operation of the system when a user wants to know reviews about a particular hotel will be described.
[1071] 1. A user uses a device to send a request to collect review data for a specific hotel. The device accesses the travel site's API, retrieves the data using "Requests," and analyzes it using "BeautifulSoup."
[1072] 2. The terminal converts the collected review data into JSON format and sends it to the server.
[1073] 3. The data received by the server is preprocessed using "spaCy" to lowercase, remove unnecessary characters, and tokenize.
[1074] 4. The server performs sentiment analysis using "VADER Sentiment" and classifies each review as positive, negative, or neutral. Positive reviews are classified as "Pros" and negative reviews as "Cons."
[1075] 5. The server performs trend analysis based on the date information of the review data and visualizes fluctuations in ratings using "Matplotlib."
[1076] 6. The server classifies the reviews into situations such as business use or family trips, and generates summaries using "BERTSummarizer."
[1077] 7. Users can use their devices to check summary information based on trends and situations, which will help them choose a hotel.
[1078] Prompt Sentence Examples
[1079] "Please collect user reviews for a specific hotel and display them separately, including positive and negative reviews. Also, please provide a graph with a trend analysis for the past year."
[1080] This prompt allows the system to carry out the steps described above and provide the user with the necessary information.
[1081] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1082] Step 1: Collect review data
[1083] Subject: Device
[1084] Specific operation: The terminal sends an API request to the data provider to obtain review data. Specifically, the terminal uses the Python "Requests" library to send an HTTP request and parses the response data with "BeautifulSoup."
[1085] Input: Data provider's API endpoint and category (e.g., hotel, restaurant).
[1086] Data processing: The device parses the acquired data and extracts the necessary category information.
[1087] Output: Extracted review data (JSON format) ready to send to the server.
[1088] Step 2: Preprocessing the review data
[1089] Subject: Server
[1090] What it does: The server preprocesses the received review data. Specifically, it uses the natural language processing library "spaCy" to convert the data to lowercase, remove unnecessary characters, tokenize it, and remove stop words from the text if necessary.
[1091] Input: Collected review data (JSON format)
[1092] Data processing: The server converts the data characters to lower case, removes special characters and HTML tags using regular expressions, and tokenizes and splits them into words.
[1093] Output: Clean review data after preprocessing is complete.
[1094] Step 3: Sentiment analysis
[1095] Subject: Server
[1096] What it does: The server performs sentiment analysis on the pre-processed review data, using VADER Sentiment and Google's Natural Language API to calculate a positive, negative, or neutral score for each review.
[1097] Input: Preprocessed and clean review data
[1098] Data processing: A sentiment score is calculated for each review and classified as positive, negative, or neutral.
[1099] Output: Data categorizing positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[1100] Step 4: Trend analysis
[1101] Subject: Server
[1102] Specific operation: The server performs trend analysis based on the date information of the sentiment-analyzed data. Specifically, it groups reviews by date and time based on the date information and visualizes the time series data using "Matplotlib" and "D3.js".
[1103] Input: Sentiment-analyzed data and its date information
[1104] Data processing: Analyze date information, aggregate reviews by year, month, and day, and generate trend lines and heat maps.
[1105] Output: Graphs and charts visualizing the trend analysis results.
[1106] Step 5: Organize reviews by situation
[1107] Subject: Server
[1108] How it works: The server classifies reviews by situation (e.g., business use, family trip, etc.) and generates summaries using a summarization algorithm such as "BERTSummarizer."
[1109] Input: Trended data and situation tags
[1110] Data processing: Classify information by situation and generate summaries appropriate for each group.
[1111] Output: Review data summarized by situation.
[1112] Through this series of processing steps, users can obtain detailed review analysis results based on specific categories and situations, and obtain summary information based on rating fluctuations and trends, as well as specific usage scenarios.
[1113] (Application example 1)
[1114] 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."
[1115] Conventional systems for collecting and analyzing customer reviews lack the means to effectively classify the data and provide it in a user-friendly format. In particular, when users are selecting a product, they are unable to easily obtain detailed statistical information or feedback trend analysis for a specific product, which hinders their ability to select the optimal product.
[1116] 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.
[1117] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the results of the sentiment analysis, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for generating statistical information related to a specific product based on the word-of-mouth data, means for visualizing trends in word-of-mouth data related to the specific product, and means for classifying word-of-mouth data related to the specific product by situation. This makes it easier for users to visually grasp the word-of-mouth data related to a specific product in detail, enabling them to select the optimal product.
[1118] "Data source" refers to the location where word-of-mouth data is stored, such as an external information system or database for collecting word-of-mouth data.
[1119] "Word-of-mouth data" refers to text data such as reviews and comments written by users about specific products or services.
[1120] "Tokenization" refers to a natural language processing technique that divides a sentence into words.
[1121] "Sentiment analysis" refers to the process of analyzing words and phrases in text data and classifying their emotional tendencies as positive, negative, or neutral.
[1122] A "good points list" refers to a collection of reviews that contain positive ratings as a result of sentiment analysis.
[1123] A "negative list" refers to a collection of reviews that contain negative ratings as a result of sentiment analysis.
[1124] A "characteristic points list" refers to a collection of neutral reviews that do not belong to any particular category as a result of sentiment analysis.
[1125] "Trend analysis" refers to the process of analyzing fluctuations and trends in data over time based on the date information of word-of-mouth data.
[1126] "Visualization" refers to the visual display of data in the form of graphs, charts, etc.
[1127] "Situation" refers to the specific situation or usage environment in which the review was written.
[1128] "Statistical Information" refers to statistical data such as numbers and percentages generated based on collected and analyzed word-of-mouth data.
[1129] A "prompt sentence" refers to a sentence that contains instructions or questions to instruct a generative AI model to perform a specific process.
[1130] "Generative AI models" refer to artificial intelligence models that have been trained to perform a variety of tasks, including natural language processing.
[1131] The present invention relates to a system for effectively collecting and analyzing word-of-mouth data and providing useful information to users. Detailed embodiments for carrying out the present invention are described below.
[1132] First, a user uses a device to collect word-of-mouth data from a data source. A data source is an external information system or database used to collect word-of-mouth data. For example, reviews can be collected from the review page of an online shopping site.
[1133] Next, the server preprocesses the collected review data. This preprocessing includes tokenization, which divides sentences into words as part of natural language processing. This is done using the Python natural language processing library nltk. The server also converts the review text to lowercase and removes unnecessary characters. This processing makes the review data easier to analyze.
[1134] The server performs sentiment analysis on the tokenized review data. For sentiment analysis, it uses nltk's VADER Sentiment Analyzer. Sentiment analysis classifies words and phrases in the review data as positive, negative, or neutral. Based on the results of the sentiment analysis, the server categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and everything else into a "notable points list."
[1135] Additionally, the server performs trend analysis based on the date information of the review data. It formats the date information and groups reviews by date and time. The server uses libraries such as pandas and matplotlib to visualize the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[1136] Finally, the server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. For example, review data can be classified based on situations such as home use, outdoor activities, and gift-giving. Users can check this information on their devices and use it to help them choose products.
[1137] As a concrete example, if a user wants to collect reviews of a specific product (e.g., a home coffee maker), they can input the following prompt into the generative AI model:
[1138] Example prompt:
[1139] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[1140] In this way, the user can easily obtain useful information about a particular product, enabling the user to select the most suitable product.
[1141] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1142] Step 1:
[1143] A user uses a device to collect word-of-mouth data about a specific product or service. For example, they access a review page on an online shopping site and retrieve related reviews. The input is the URL or ID of the specific product, and the output is the collected word-of-mouth data (in text format). This data is passed to the next processing step.
[1144] Step 2:
[1145] The server preprocesses the collected review data. This processing includes converting the review data to lowercase, removing unnecessary characters, and tokenizing it. Specifically, it uses the Python nltk library to split the text into words. The input is the review data collected in step 1, and the output is the preprocessed review data (tokenized text).
[1146] Step 3:
[1147] The server performs sentiment analysis on the tokenized review data. It uses nltk's VADER Sentiment Analyzer to calculate a positive, negative, or neutral score for each review. The input is the preprocessed review data, and the output is the sentiment analysis results (a data frame containing positive, negative, and neutral scores).
[1148] Step 4:
[1149] Based on the results of the sentiment analysis, the server classifies the review data into a "good points list," a "bad points list," and a "characteristic points list." Specifically, reviews with positive ratings are classified into the "good points list," reviews with negative ratings into the "bad points list," and the rest into the "characteristic points list." The input is the sentiment analysis results, and the output is a list categorized into good points, bad points, and characteristic points.
[1150] Step 5:
[1151] The server performs trend analysis based on the date information of the review data. It formats the date information and groups the reviews by date and time. It uses pandas and matplotlib to visualize the time series data as a graph. The input is a list of reviews and their date information, and the output is a trend graph (visualized data showing fluctuations in the number of reviews).
[1152] Step 6:
[1153] The server categorizes and summarizes the review data by situation. For example, reviews can be categorized based on situations such as home use, outdoor activities, and gifts. The input is all review data, and the output is a list of reviews categorized by each situation and their summary text. This allows users to easily check feedback that is tailored to a specific situation.
[1154] Example prompt:
[1155] Collect customer reviews of home coffee makers from a specified URL, preprocess them, and classify them into positive, negative, and distinctive features using sentiment analysis. Then, perform trend analysis using date information and organize the data by home use, outdoor, and gift situations.
[1156] 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.
[1157] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[1158] 1. Collecting review data
[1159] First, the device connects to a data source to collect review data. A data source is a place where review data is stored, such as an external information system or database. The device retrieves review data based on a specified category (e.g., hotel, restaurant, tourist spot, etc.).
[1160] 2. Preprocessing of reviews
[1161] Next, the server preprocesses the collected review data. Specifically, the server converts the reviews to lowercase, removes unnecessary characters, and tokenizes them. Tokenization is the process of dividing sentences into words. At this stage, the review data is organized into a form that is easy to analyze.
[1162] 3. Analysis of the good, bad and distinctive features
[1163] The server then performs sentiment analysis using the tokenized review data. Sentiment analysis is a process in which words and phrases in the review data are classified as positive, negative, or neutral. The server initializes the sentiment analysis tool and analyzes each review. Based on the analysis results, positive reviews are classified into a "good points list," negative reviews into a "bad points list," and the rest into a "notable points list."
[1164] 4. Trend Analysis
[1165] The server then performs trend analysis based on the date information in the review data, formats the date information, and groups reviews by date and time. The server then visualizes the time series data, allowing users to understand fluctuations and trends in reviews over a specific period of time.
[1166] 5. Organize reviews by situation
[1167] The server classifies and summarizes the review data by situation. A situation refers to the specific situation or usage environment in which the review was written. The server classifies the review data based on the situation information and provides summaries appropriate for each.
[1168] 6. User Emotion Recognition
[1169] This system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. The server then adjusts the content of the review information provided based on this emotion data. For example, if the user is feeling stressed, the server can prioritize displaying positive reviews.
[1170] Specific examples
[1171] For example, if a user wants to know reviews of a particular hotel, the system operates as follows: The user uses their device to collect hotel review data from a data source. The server preprocesses the collected review data, tokenizes it, and performs sentiment analysis. As a result of the sentiment analysis, positive reviews are classified into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on the date information of the review data and graphs fluctuations in hotel reviews. Finally, the server classifies the reviews by situation, such as business use or family trip, and provides summaries appropriate for each.
[1172] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to that user, emphasizing their positive points. At the same time, the server accumulates the user's past emotional data and dynamically adjusts the way future reviews are presented based on that data. In this way, the user can check the final results on their device and choose the best hotel based on their emotional state.
[1173] The processing flow will be explained below.
[1174] Step 1:
[1175] The device connects to data sources to collect review data, specifically retrieving review data from databases or external APIs based on categories such as hotels, restaurants, and tourist attractions.
[1176] Step 2:
[1177] The server preprocesses the collected review data. First, the server converts the review data to lowercase and removes unnecessary characters (such as special characters and symbols). Then, the server tokenizes the review data and divides sentences into words.
[1178] Step 3:
[1179] The server performs sentiment analysis on the tokenized review data. The server uses a sentiment analysis tool to determine the sentiment of each token. Specifically, the token is classified as positive, negative, or neutral.
[1180] Step 4:
[1181] The server categorizes the review data based on the results of sentiment analysis: positive reviews are classified into a "good points list," negative reviews into a "bad points list," and neutral or particularly noteworthy reviews into a "notable points list."
[1182] Step 5:
[1183] The server performs trend analysis based on the date information of the review data, formats the date of the review data, and groups the reviews by date and time.The server then visualizes the fluctuations in the number of reviews based on the time series data in a graph and provides it to the user.
[1184] Step 6:
[1185] The server classifies and summarizes the review data by situation, such as business use, family trip, couple use, etc., and creates and provides summary information appropriate for each situation.
[1186] Step 7:
[1187] The server uses an emotion engine to recognize the user's emotions. The emotion engine detects the user's real-time emotional state from their facial expressions, tone of voice, and input. For example, it collects user data using a camera or microphone.
[1188] Step 8:
[1189] The server adjusts the content of review information provided based on the user's emotional state recognized by the emotion engine. For example, if the server determines that the user is feeling stressed, it will prioritize displaying positive reviews. It also accumulates user emotional data and optimizes the way future review information is presented based on past data.
[1190] Step 9:
[1191] The user checks the results provided by the server through their device. For example, a list of good points, bad points, and distinctive features, a trend graph, and summary information for each situation are displayed on the device screen. The user can use this information to help them select hotels, restaurants, tourist spots, etc.
[1192] Example 2
[1193] 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."
[1194] While there are existing systems that collect and evaluate reviews based on them, they are unable to provide information that takes into account the user's emotional state, making it difficult to improve user satisfaction. Furthermore, there are issues with effectively preprocessing the collected review data and properly performing sentiment analysis, trend analysis, and situational classification. Furthermore, there is a lack of a way to adjust and provide information based on the user's real-time emotions, preventing users from making optimal choices.
[1195] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for dividing evaluation data, a means for emotionally analyzing the divided evaluation data, and a means for recognizing the user's emotions and adjusting the information to be provided. This makes it possible to provide information tailored to the user's emotional state, which is expected to improve user satisfaction. In addition, it enables effective pre-processing of evaluation data, detailed emotional analysis, appropriate trend analysis, and classification by situation.
[1196] "Data source" refers to an external information system or database used to collect evaluation data.
[1197] "Evaluation data" refers to feedback and word-of-mouth information from users about a subject.
[1198] "Splitting" refers to the process of breaking down data into analyzable units.
[1199] "Sentiment analysis" refers to the process of analyzing the emotional meaning of words and phrases in rating data and classifying them as positive, negative, or neutral.
[1200] A "good points list" refers to a list containing evaluation data that has been classified as positive through sentiment analysis.
[1201] A "negative list" refers to a list containing evaluation data that has been classified as negative through sentiment analysis.
[1202] "Significant points" refer to evaluation data that was classified as neutral in sentiment analysis but contains important information.
[1203] "Trend analysis" refers to the process of analyzing fluctuations and trends in the number of ratings based on the date information of the rating data.
[1204] "Context" refers to the particular conditions or usage situation under which the evaluation data was recorded.
[1205] "Summarization" refers to the process of simplifying evaluation data and presenting it in a form that extracts important information.
[1206] "Recognizing user emotions" refers to the process of determining emotions in real time based on the user's facial expressions, tone of voice, and input content.
[1207] "Adjusting information" refers to the process of dynamically optimizing the content of the evaluation data provided based on the user's emotional state.
[1208] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions. An embodiment of this system will be described in detail below.
[1209] First, the terminal collects review data. The terminal connects to a data source and obtains rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The software used is the "requests" library, which retrieves data via an API.
[1210] Next, the server preprocesses the reviews. The collected review data is converted to lowercase, unnecessary characters are removed, and then tokenized. The natural language processing library "NLTK" is used for tokenization. This preprocessing converts the review data into a format that is easy to analyze.
[1211] The server then performs sentiment analysis using the tokenized review data. The VADER sentiment analysis tool is used for this analysis. The server analyzes the emotional meaning of words and phrases in the collected review data and classifies them as positive, negative, or neutral. The server then categorizes positive reviews into a "good points list," negative reviews into a "bad points list," and neutral reviews into a "notable points list."
[1212] The server then performs trend analysis based on the date information of the review data. Using the Python libraries "pandas" and "matplotlib," the review data is grouped by date and time and the fluctuations are visualized. This allows users to easily understand the fluctuations and trends in the number of reviews over a specific period.
[1213] The server then categorizes the review data by situation and provides summaries. A situation refers to the specific situation or usage environment in which the review was written. The server uses algorithms such as TF-IDF to categorize the review data based on situation information and provides summaries appropriate for each situation.
[1214] Finally, the system includes an emotion engine that recognizes the user's emotions. The emotion engine recognizes emotions from the user's facial expressions, tone of voice, and input content. For example, it uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The server dynamically adjusts the content of the evaluation data provided to the user based on this emotion data. In particular, if the user is feeling stressed, a better user experience can be provided by prioritizing the display of positive reviews.
[1215] Specific examples
[1216] For example, suppose a user wants to know reviews about a particular hotel. The user uses their device to collect hotel review data from an external database. The server preprocesses and tokenizes the collected review data. Next, it performs sentiment analysis, categorizing positive reviews into a "good points list" and negative reviews into a "bad points list." The server then performs trend analysis based on date information and visually displays fluctuations in hotel reviews. Finally, the server categorizes the reviews by situation, such as business use or family trip, and provides summaries.
[1217] Furthermore, an emotion engine that recognizes the user's emotions is activated. For example, if the emotion engine determines that the user is dissatisfied with the hotel, the server will prioritize displaying particularly positive reviews to the user and highlighting the positive points. This allows the user to choose the best hotel according to their emotional state.
[1218] Example prompts for generative AI models
[1219] "Write a Python script that collects positive reviews about a particular hotel, performs a sentiment analysis, and summarizes the results."
[1220] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1221] Step 1:
[1222] Collecting word-of-mouth data via devices
[1223] The device connects to the data source and retrieves rating data for a specified category (e.g., hotels, restaurants, tourist attractions, etc.). The URL of the data source and category information are required as input. The device calls the API based on this information and collects review data. The output is the retrieved rating data. Specifically, the device retrieves data from the API using the Python "requests" library.
[1224] Step 2:
[1225] Preprocessing of review data by the server
[1226] The server receives the collected review data, converts it to lowercase, removes unnecessary characters, and tokenizes it. The input is the collected rating data. The natural language processing library "NLTK" is used for tokenization. The output is preprocessed tokenized data. Specifically, the server reads the data, converts it to lowercase, removes unnecessary characters, and tokenizes it.
[1227] Step 3:
[1228] Emotion analysis by server
[1229] The server analyzes the tokenized review data using the sentiment analysis tool "VADER." The input is preprocessed tokenized data. It classifies the data as positive, negative, or neutral based on words and phrases in the data. The output is sentiment-analyzed rating data, consisting of lists of positive, negative, and neutral. Specifically, the server uses "VADER" to calculate the sentiment score for each token and classifies it based on that.
[1230] Step 4:
[1231] Server-based trend analysis
[1232] The server performs trend analysis based on the date information of the review data. The input is the sentiment-analyzed data and its date information. Using Python's "pandas" and "matplotlib," the review data is grouped by date and its fluctuations are visualized. The output is visualized graphs and data. Specifically, the system formats the date information, creates time-series data, and displays it as a graph.
[1233] Step 5:
[1234] Server-generated summary by situation
[1235] The server classifies the review data by situation (usage status and conditions) and provides summaries. The input is sentiment-analyzed data and situation information. Using algorithms such as TF-IDF, the data is classified by situation and an appropriate summary is generated for each. The output is data summarized for each situation. Specifically, the data is filtered based on keywords related to each situation and then summarized.
[1236] Step 6:
[1237] Server-based user emotion recognition and content adjustment
[1238] The server recognizes the user's emotions and dynamically adjusts the information provided. Input is emotional data such as the user's facial expression, tone of voice, and input content. It uses the facial expression analysis tool "OpenFace" and the voice analysis tool "Google Cloud Speech-to-Text API." The output is evaluation data adjusted according to the user's emotional state. Specifically, it recognizes the user's emotions in real time, and prioritizes displaying positive reviews if the user is dissatisfied.
[1239] (Application example 2)
[1240] 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."
[1241] Today's word-of-mouth data is massive and complex, making it difficult to collect and analyze it effectively. While there is a demand for information that appropriately reflects user emotions, current systems do not adequately provide information linked to emotion recognition. Therefore, a system is needed that can adjust word-of-mouth data based on user emotions and provide optimal information for specific applications.
[1242] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1243] In this invention, the server includes means for collecting word-of-mouth data from a data source, means for tokenizing the word-of-mouth data, means for sentiment analysis of the tokenized word-of-mouth data, means for classifying the word-of-mouth data into good points, bad points, and distinctive points based on the sentiment analysis results, means for performing trend analysis based on the date of the word-of-mouth data, means for classifying and summarizing the word-of-mouth data by situation, means for recognizing user emotions and adjusting word-of-mouth information based on the emotional data, and means for preferentially displaying word-of-mouth data according to a specific purpose, thereby making it possible to provide appropriate word-of-mouth information according to the user's emotions.
[1244] A "data source" is an information source such as an external information system or database from which word-of-mouth data is collected.
[1245] "Tokenization" is the process of dividing a sentence into words or phrases to make it easier to process natural language.
[1246] "Sentiment analysis" is the process by which words and phrases in review data are classified as positive, negative, or neutral.
[1247] The "good points list" is a list in which positive evaluations are classified as a result of sentiment analysis.
[1248] The "bad points list" is a list in which negative evaluations are classified as a result of sentiment analysis.
[1249] A "characteristic points list" is a list in which neutral evaluations that are neither positive nor negative are classified.
[1250] "Trend analysis" is a process that analyzes fluctuations and trends in data based on the date information of word-of-mouth data.
[1251] "Situation" refers to the specific situation or usage environment in which the review was written.
[1252] An "emotion engine" is a system that recognizes emotions from the user's facial expressions, tone of voice, input content, etc.
[1253] "User emotion data" is data relating to the user's emotional state as recognized through the emotion engine.
[1254] This invention combines a system that effectively collects and analyzes word-of-mouth data and provides it as useful information to users with an emotion engine that recognizes user emotions, and is particularly suitable for use on online shopping sites. Specific embodiments of this system are described below.
[1255] System Configuration
[1256] server
[1257] The server has the following features:
[1258] Data collection: Word-of-mouth data is collected from data sources such as external information systems and databases.
[1259] Data preprocessing: The review data is converted to lowercase, unnecessary characters are removed, and then tokenized.
[1260] Sentiment Analysis: Tokenized review data is analyzed using a sentiment engine to classify it into positive, negative, and neutral categories.
[1261] Classification: Based on sentiment analysis, the review data is classified into a list of positive points, negative points, and distinctive points.
[1262] Trend analysis: The date information of the review data is formatted and analyzed as time series data.
[1263] Classification by situation: Classify and summarize word-of-mouth data by situation.
[1264] User emotion recognition: An emotion engine is used to recognize user emotions and adjust the content of the reviews displayed based on the emotion data.
[1265] Prioritized display: Prioritize display of review data for specific purposes.
[1266] For specific analysis processing, we use TextBlob as an NLP (natural language processing) library and VaderSentiment as an emotion recognition tool.
[1267] Specific examples
[1268] For example, if a user is looking for reviews of a particular product on an online shopping site, the system works as follows:
[1269] User input: The user types, "I've been feeling stressed and depressed lately."
[1270] Data collection: The server collects word-of-mouth data for the relevant product from the data source.
[1271] Preprocessing and tokenization: The collected review data is first converted to lowercase and tokenized by removing unnecessary characters.
[1272] Sentiment Analysis and Classification: The tokenized data is analyzed through a sentiment engine to separate positive, negative, and neutral ratings, which are then classified into pros, cons, and special features.
[1273] Trend analysis: Trend analysis is performed based on the date information of the review data, and fluctuations and trends over time are visualized.
[1274] Classification by situation: Review data is classified and summarized by situation, such as business use or family trip.
[1275] Emotion recognition and display adjustment: If the user's emotion is recognized as negative, the server will prioritize providing the user with particularly positive reviews.
[1276] Prompt Sentence Examples
[1277] Specifically, consider the following prompt:
[1278] "If a user types, 'I've been feeling stressed and depressed lately,' the app should prioritize the most positive reviews. The system will display reviews that say, 'This product is great! I'm very satisfied.'"
[1279] This system allows users to view the most appropriate word-of-mouth information based on their emotional state, enabling them to make better purchasing decisions.
[1280] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1281] Step 1:
[1282] Data collection
[1283] The server collects word-of-mouth data from a data source, which may be an external information system or database that stores word-of-mouth information about specific products or services.
[1284] Input: Keywords related to your product or service
[1285] Output: List of reviews
[1286] Specific operation: The server sends an API request to the data source to retrieve review data related to the specified keywords.
[1287] Step 2:
[1288] Data Preprocessing
[1289] The server converts the collected review data to lowercase and tokenizes it by removing unnecessary characters.
[1290] Input: Raw review list
[1291] Output: Preprocessed tokenized review data
[1292] Specific operations: Using a Python script, the review text is converted to lowercase, unnecessary characters are removed using regular expressions, and tokenized using a library such as nltk.
[1293] Step 3:
[1294] sentiment analysis
[1295] The server analyzes the tokenized review data using a sentiment engine (e.g., VaderSentiment) and classifies it as positive, negative, or neutral.
[1296] Input: Tokenized review data
[1297] Output: Sentiment analysis results (positive, negative, neutral scores)
[1298] What it does: Initializes the VaderSentiment library, calculates a sentiment score for each review text, and classifies the sentiment based on that score.
[1299] Step 4:
[1300] classification
[1301] Based on the results of the sentiment analysis, the server classifies the reviews into a list of good points, bad points, and distinctive points.
[1302] Input: Sentiment analysis results
[1303] Output: list of good points, list of bad points, list of distinctive points
[1304] What it does: Add reviews with a positive sentiment score to a list of good points, reviews with a negative sentiment score to a list of bad points, and reviews with a neutral score to a list of good points.
[1305] Step 5:
[1306] Trend analysis
[1307] The server formats the date information of the word-of-mouth data and performs trend analysis on it as time-series data.
[1308] Input: Review data date information
[1309] Output: Time series data and its trend graph
[1310] What it does: Standardize date information, group reviews by date and time, and visualize fluctuations in the time series data (for example, generate a graph using matplotlib).
[1311] Step 6:
[1312] Classification by situation
[1313] The server classifies the word-of-mouth data by situation and summarizes the word-of-mouth in a particular situation.
[1314] Input: Review data and its situation information
[1315] Output: Summary list by situation
[1316] Specific operation: Analyzes review text to extract keywords related to specific situations, and groups and summarizes reviews related to those situations.
[1317] Step 7:
[1318] Emotion recognition and display adjustment
[1319] The server recognizes the user's emotions and adjusts the content of the word-of-mouth information displayed based on the emotional data.
[1320] Input: User emotion data (e.g., user-entered text and facial expression analysis results)
[1321] Output: List of adjusted reviews
[1322] Specific operation: The emotion engine is used to analyze user emotions in real time, and based on the results, adjustments are made, such as prioritizing the display of positive reviews.
[1323] Step 8:
[1324] Priority display
[1325] The server displays word-of-mouth data according to a specific purpose with priority.
[1326] Input: User's emotional data and usage information (e.g., wanting to relax, wanting more information, etc.)
[1327] Output: A prioritized list of reviews
[1328] Specific operation: Filters based on the user's usage information, and extracts and displays the review data that best matches the specific usage.
[1329] Through these processing steps, the most suitable word-of-mouth information is provided to the user.
[1330] 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.
[1331] 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.
[1332] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1333] 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.
[1334] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1335] 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.
[1336] 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).
[1337] 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.
[1338] 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."
[1339] 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.
[1340] 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).
[1341] 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.
[1342] 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.
[1343] 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.
[1344] 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.
[1345] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1346] 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.
[1347] 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.
[1348] 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.
[1349] 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.
[1350] 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.
[1351] The following is further disclosed regarding the above embodiment.
[1352] (Claim 1)
[1353] A means of collecting review data from data sources;
[1354] means for tokenizing the review data;
[1355] A means of sentiment analysis of tokenized review data;
[1356] means for classifying the results of the sentiment analysis into good points, bad points, and distinctive points;
[1357] means for performing trend analysis based on the date of the word-of-mouth data;
[1358] The system includes means for classifying and summarizing the word-of-mouth data by situation.
[1359] (Claim 2)
[1360] 2. The system according to claim 1, wherein the trend analysis means visualizes fluctuations in the number of reviews based on the date of the review data.
[1361] (Claim 3)
[1362] 2. The system of claim 1, wherein the sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list.
[1363] "Example 1"
[1364] (Claim 1)
[1365] means for acquiring word-of-mouth data from a data supply device;
[1366] means for preprocessing the word-of-mouth data;
[1367] means for tokenizing the review data;
[1368] A means of sentiment analysis of tokenized review data;
[1369] A means for classifying the results of sentiment analysis into good points, bad points, and distinctive points;
[1370] means for performing trend analysis based on the date of the word-of-mouth data;
[1371] means for visualizing the trend analysis results as time-series data;
[1372] The system includes means for classifying and summarizing the word-of-mouth data by situation.
[1373] (Claim 2)
[1374] 2. The system according to claim 1, wherein the trend analysis means visualizes fluctuations in the number of reviews based on the date of the review data.
[1375] (Claim 3)
[1376] 2. The system of claim 1, wherein the sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list.
[1377] "Application Example 1"
[1378] (Claim 1)
[1379] A means of collecting review data from data sources;
[1380] means for tokenizing the review data;
[1381] A means of sentiment analysis of tokenized review data;
[1382] means for classifying the results of the sentiment analysis into good points, bad points, and distinctive points;
[1383] means for performing trend analysis based on the date of the word-of-mouth data;
[1384] means for classifying and summarizing the word-of-mouth data by situation;
[1385] means for generating statistical information related to a specific product based on the word-of-mouth data;
[1386] A way to visualize trends in review data related to specific products, and
[1387] The system includes a means for classifying word-of-mouth data relating to a particular product by situation.
[1388] (Claim 2)
[1389] 2. The system of claim 1, wherein the trend visualization means visualizes fluctuations in word-of-mouth data associated with a particular product.
[1390] (Claim 3)
[1391] 2. The system of claim 1, wherein the sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list.
[1392] "Example 2: Combining Emotion Engines"
[1393] (Claim 1)
[1394] a means for collecting assessment data from data sources;
[1395] means for dividing the evaluation data;
[1396] means for sentiment analysis of the segmented evaluation data;
[1397] A means for classifying the sentiment analysis results into good points, bad points, and distinctive points;
[1398] means for performing trend analysis based on the date of the evaluation data;
[1399] means for classifying and summarizing the evaluation data by situation;
[1400] means for recognizing a user's emotions and adjusting the information provided;
[1401] A system including:
[1402] (Claim 2)
[1403] 2. The system of claim 1, wherein the trend analysis means visualizes fluctuations in the number of ratings based on the date of the rating data.
[1404] (Claim 3)
[1405] 2. The system of claim 1, wherein the sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list.
[1406] "Application example 2 when combining emotion engines"
[1407] (Claim 1)
[1408] A means of collecting review data from data sources;
[1409] means for tokenizing the review data;
[1410] A means of sentiment analysis of tokenized review data;
[1411] means for classifying the results of the sentiment analysis into good points, bad points, and distinctive points;
[1412] means for performing trend analysis based on the date of the word-of-mouth data;
[1413] means for classifying and summarizing the word-of-mouth data by situation;
[1414] means for recognizing a user's emotion and adjusting word-of-mouth information based on the emotion data;
[1415] A way to prioritize review data for specific purposes
[1416] A system including:
[1417] (Claim 2)
[1418] 2. The system according to claim 1, wherein the trend analysis means visualizes fluctuations in the number of reviews based on the date of the review data.
[1419] (Claim 3)
[1420] 2. The system of claim 1, wherein the sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list. [Explanation of symbols]
[1421] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of collecting review data from data sources; means for tokenizing the review data; A means of sentiment analysis of tokenized review data; means for classifying the results of the sentiment analysis into good points, bad points, and distinctive points; means for performing trend analysis based on the date of the word-of-mouth data; and means for classifying and summarizing the word-of-mouth data by situation.
2. 2. The system according to claim 1, wherein the trend analysis means visualizes fluctuations in the number of reviews based on the date of the review data.
3. 2. The system of claim 1, wherein said sentiment analysis means categorizes positive tokens into a pros list and negative tokens into a cons list.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A