Analytical processing program and method

The program automates patent analysis by generating analytical text from statistical data processing, addressing the need for human intervention in existing methods and enhancing data-driven insights.

JP2026092667AInactive Publication Date: 2026-06-05川上成年

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
川上成年
Filing Date
2025-11-02
Publication Date
2026-06-05
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing patent analysis methods require human intervention for interpretation, lacking automated analysis capabilities.

Method used

A program that processes patent data statistically to generate numerical text data, which is then input to a language model for automated analysis output.

Benefits of technology

Enables automated generation of analytical text based on statistical numerical analysis of patent data, facilitating data-driven insights without human intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026092667000001_ABST
    Figure 2026092667000001_ABST
Patent Text Reader

Abstract

We provide an analytical processing method. [Solution] The computer is made to perform the following steps: create numerical text data from numerical data obtained by processing the data to be analyzed using statistical methods; input a prompt to a language model that includes the numerical text data and an instruction to generate analytical text data of the numerical text data, and then obtain the analytical text data from the language model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an analysis processing program and method.

Background Art

[0002] Patent Document 1 discloses a patent map generation program.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In Patent Document 1, a patent map is generated. However, it is necessary for a human to analyze the patent map.

[0005] The present invention has been made to solve such conventional problems, and an object thereof is to output analysis text based on statistical numerical analysis of data.

Means for Solving the Problems

[0006] A program that causes a computer to execute a process of creating numerical text data from numerical data obtained by processing data to be analyzed by a statistical method, and to input a prompt including an instruction to generate the numerical text data and analysis text data of the numerical text data to a language model, and to obtain analysis text data from the language model.

[0007] This method involves a computer performing the following steps: creating numerical text data from numerical data obtained by processing the data to be analyzed using statistical methods; inputting a prompt to a language model that includes the numerical text data and instructions to generate analytical text data of the numerical text data; and obtaining the analytical text data from the language model. [Effects of the Invention]

[0008] According to the analysis processing program and method of the present invention, it is possible to output analytical text based on statistical numerical analysis of data. [Brief explanation of the drawing]

[0009] [Figure 1] System schematic diagram [Figure 2] Block diagram of the terminal [Figure 3] Process flowchart [Figure 4] Process flowchart [Figure 5] Example of output [Modes for carrying out the invention]

[0010] The following describes in detail, with reference to the figures, an embodiment of the analysis processing program and method.

[0011] Figure 1 is a schematic diagram of the system that performs the analysis process. In this embodiment, the data to be analyzed is patent data. To perform the analysis process, terminal 1 connects to natural language processing server 2 via a network.

[0012] The natural language processing server 2 is a computer that performs processing of input natural language strings using a large-scale language model (LLM) (in this embodiment, analysis text data generation processing). The natural language processing server in this embodiment is a cloud-based service that incorporates a large-scale language model (LLM) such as OpenAI's GPT-5, GPT-4o, or GPT-4o-mini (all API services). However, the natural language processing server 2 is not limited to these, and any server that performs natural language processing incorporating a large-scale language model that provides similar functionality (for example, Google's Gemini, or Anthropic's Claude3 Opus or Claude3.5 Sonnet) would suffice.

[0013] The natural language processing server 2 of this embodiment includes a CPU, memory, input / output devices, and an external interface. It performs natural language processing (analyzed text data generation processing in this embodiment) incorporating a large-scale language model on input from an external device and outputs the result.

[0014] In this embodiment, natural language processing is performed on the server side, but it may also be performed on terminal 1 without using a cloud service. There are large-scale language models that can be executed on terminal 1 in a local environment (so-called local LLMs, such as Llama 3 (Meta Inc.) or GPT-OSS (OpenAI Inc.)). In this case, natural language processing server 2 is not required. Furthermore, the language model is not limited to large-scale language models; small-scale language models (SLMs) may also be used.

[0015] Figure 2 is a block diagram of terminal 1 in the system for executing the analysis processing method of the embodiment. The terminal is, for example, a personal computer, tablet, or smartphone owned by the user.

[0016] Via the system bus 108, a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a HDD (Hard Disk Drive) 105, an external I / F (Interface) 106, and an input unit 107 are connected. The control unit 104 is constituted by the CPU 101, the ROM 102, and the RAM 103.

[0017] The ROM 102 stores in advance programs and threshold values to be executed by the CPU 101. The RAM 103 has various memory areas such as an area for expanding the program executed by the CPU 101 and a work area serving as a work area for data processing by the program.

[0018] The HDD 105 stores patent data (natural language text data) and the like input from the input unit 107. The external I / F 106 is an interface for communicating with an external device such as an external server (PC), for example.

[0019] The external I / F 106 may be any interface for performing data communication with an external device. For example, it may be a device (such as a USB memory) that is locally connected to the external device, or it may be a network interface for communicating via a wired or wireless network.

[0020] The control unit 104 exchanges data with an external device (natural language processing server) via the external I / F 106, thereby transmitting numerical analysis text data and receiving analysis result texts and the like.

[0021] The external I / F 106 is connected to a display device (not shown) such as a liquid crystal display. The input unit 107 is an input device such as a keyboard, a mouse, a scanner (reading device), and the like.

[0022] (First Embodiment) The processing procedure of the analysis processing program of the embodiment will be described. Note that in this embodiment, the analysis processing is performed on beer patents, but the target products and processing data are not limited to this. The following series of code blocks constitutes the program and method of the embodiment, but for ease of explanation, they will be divided into code blocks for explanation.

[0023] In the program for the analysis method of this embodiment, a prompt is input to a language model that includes a user's analysis request regarding a product (analysis request text data: "Please consider the marketing strategy of B Beer Co., Ltd.") and numerical analysis text data that includes numerical data processed from patent data using statistical methods (numerical analysis: aggregation, percentage calculation, statistical analysis, etc.). The language model then retrieves the analysis result text for the user's analysis request text data regarding the product. Note that the user analysis request text data is not limited to this and can be any analysis request (for example, "Please analyze the challenges of beer," "Please tell me an overview of the applicant," etc.).

[0024] Figure 3 is a flowchart of the analysis process in the embodiment. In STEP 1, terminal 1 generates numerical data by aggregating patent data into one or more items (in this case, a multidimensional process combining three items: applicant, problem classification, and solution classification). In STEP 2, terminal 1 generates numerical analysis text data including this aggregated numerical data. Terminal 1 sends a prompt to natural language processing server 2 that includes the numerical analysis text data and analysis request text data containing the analysis request entered by the user. In STEP 3, natural language processing server 2 uses a large-scale language model to generate analysis result text for the user's analysis request based on the numerical analysis text data and analysis request text data, and sends it to terminal 1. Terminal 1 then obtains the analysis result text.

[0025] In this embodiment, the product-related items for a given product include the applicants (A Beer Co., Ltd., B Beer Co., Ltd., C Beer Co., Ltd., and D Beer Co., Ltd.), problem classification, and solution classification from patent data related to beer. However, the items are not limited to these and may include application date, publication date, patent classification, inventor, etc. In addition, questionnaires, user reviews, and papers other than patent data may be processed. Non-patent data such as IR information may also be used. The problem classification and solution classification in this embodiment are unique classifications that have been pre-assigned to the patent data using known methods.

[0026] (STEP 1: Numerical Data Processing) First, the control unit 104 aggregates specific items of patent data related to a specific product and generates numerical data. The program is as follows. Note that the following program is a Python (registered trademark; the same applies hereinafter) program stored in the control unit of terminal 1. However, it is not limited to this, and other programming tools or programming languages ​​(such as VBA or GAS) may be used. Also, the following program is merely an example, and the processing order, libraries, functions, and variable names used may be changed. Note that in this embodiment, the aggregated count of each item is used as numerical data, but the numerical data processing may also be performed using other statistical methods (numerical analysis: for example, percentage calculation, statistical analysis, regression analysis, clustering, principal component analysis, etc.).

[0027] (Code block 1) import pandas as pd # Data loading # Using Google Drive from google.colab import drive drive.mount(' / content / drive') # Loading data (from Google Drive) df = pd.read_excel(' / content / drive / MyDrive / Beer_patent_DB_424.xlsx')

[0028] (Explanation of Code Block 1) The control unit 104 imports the pandas library under the name "pd". This library is used for reading and processing data.

[0029] In Google Colab, drive.mount() is used to mount Google Drive. This makes it possible to read files from Google Drive. Next, the control unit 104 reads a specific Excel file (Beer_patent_DB_424.xlsx) from Google Drive and saves it to a data frame named df.

[0030] A portion of the contents of the data frame df is shown below. The patent data shown in df includes various items (columns) (application number, publication number, title of invention, patent classification, etc.), but here only the applicant, problem class (classification of the problem of the invention), and solution class (classification of the means of solving the invention), which are used for the embodiment, are displayed, and other items (columns) are omitted. In addition, the first and last 5 entries out of 423 patent data are displayed.

[0031] applicant problem class solution class 0 A Beer Co., Ltd. Low-alcohol, high-quality, amino acid-based beer 1. A Beer Co., Ltd. Low-Alcohol High-Quality Alcoholic Beverages 2. B Beer Co., Ltd. - Improved flavor and aroma - Alcoholic beverages 3. B Beer Co., Ltd. Enhanced drinking experience with esters. 4. B Beer Co., Ltd. Enhanced drinking experience. Aldehydes. ... ... ... 418 C Beer Co., Ltd. Improved Quality and Stability Alcoholic Beverages 419 A Beer Co., Ltd. Improved Quality Stability Esters 420 C Beer Co., Ltd. Improved Quality and Stability Alcoholic Beverages 421 B Beer Co., Ltd. Improved flavor and aroma. Amino acid-based. 422 A Beer Co., Ltd. Enhancement of flavor and aroma. Esters.

[0032] (Code Block 2) # Installing packages ! pip install openai from openai import OpenAI

[0033] (Explanation of Code Block 2) The control unit 104 installs the openai package. This package is necessary to use the generative AI functions using the OpenAI API. Note that it is necessary to set the OpenAI API KEY, but this is omitted here.

[0034] (Code block 3) # Count of project classifications per applicant p_aggregated_data = df.groupby(['applicant', 'problem class']).size().reset_index(name='count') # Count of solution classifications per applicant s_aggregated_data = df.groupby(['applicant', 'solution class']).size().reset_index(name='count')

[0035] (Explanation of Code Block 3) The control unit 104 uses the data frame df to aggregate the number of problem classes for each applicant. This process clarifies the types and number of problems each applicant is working on. The aggregated results are stored in a new data frame called p_aggregated_data and used for later analysis.

[0036] Similarly, the control unit 104 aggregates the number of solution class classifications for each applicant and stores them in a data frame called s_aggregated_data. This aggregation allows the user to understand the types of solutions provided by each applicant and the number of each type.

[0037] The information obtained in this way clearly shows what kinds of problems and solutions each applicant is addressing and how many of them they are working on. This allows for a deeper understanding of a specific applicant's technical strengths and areas of interest.

[0038] (STEP 2: Numerical Analysis and Text Data Processing) Next, the control unit 104 generates numerical analysis text data containing the aggregated numerical data from the aggregated numerical data. The program is as follows:

[0039] (Code block 4) # Adding a separator result_text += "\n--- Problem Class Counts ---\n" # Combining the two aggregated datasets into a single descriptive text format result_text = "" # Adding Problem Class Counts for _, row in p_aggregated_data.iterrows(): result_text += f"Applicant: {row['applicant']}, Problem Class: {row['problem class']}, Count: {row['count']}\n" # Adding a separator result_text += "\n--- Solution Class Counts ---\n" # Adding Solution Class Counts for _, row in s_aggregated_data.iterrows(): result_text += f"Applicant: {row['applicant']}, Solution Class: {row['solution class']}, Count: {row['count']}\n"

[0040] (Explanation of Code Block 4) The control unit 104 creates an empty string called result_text and adds the aggregated results of the problem classification and solution classification to it. This string will be used later to generate the analysis result text data, so the information is summarized in a clear and easy-to-understand format.

[0041] A loop is executed for each row of p_aggregated_data, and the applicant, problem classification, and count are added to result_text in text format. After the problem classification aggregation is complete, a separator line ("--- Solution Class Counts ---") is inserted to add the aggregated results for the solution classification. This separator line visually separates the problem classification and the solution classification, improving the readability of the data.

[0042] Next, the control unit 104 similarly executes a loop for each row of s_aggregated_data and adds the applicant, solution classification, and number to result_text. The generated result_text (numerical analysis text data) is shown below. Note that the method of generating the numerical analysis text data is not limited to this; it may also be done by simply combining p_aggregated_data and s_aggregated_data into one.

[0043] (Generated numerical analysis text data) --- Plan Class Counts --- Applicant: C Beer Co., Ltd., Problem Class: Low Alcohol High Quality, Count: 5 Applicant: C Beer Co., Ltd., Problem Class: Health-conscious customer support, Count: 11 Applicant: C Beer Co., Ltd., Problem Class: Improving Quality Stability, Count: 16 Applicant: C Beer Co., Ltd., Problem Class: Improving Flavor and Aroma, Count: 42 Applicant: C Beer Co., Ltd., Problem Class: Enhancing the drinking experience, Count: 10 Applicant: D Beer Co., Ltd., Problem Class: Low Alcohol High Quality, Count: 4 Applicant: D Beer Co., Ltd., Problem Class: Health-conscious customer support, Count: 9 Applicant: D Beer Co., Ltd., Problem Class: Improving Quality Stability, Count: 1 Applicant: D Beer Co., Ltd., Problem Class: Improving Flavor and Aroma, Count: 19 Applicant: D Beer Co., Ltd., Problem Class: Enhancing the drinking experience, Count: 6 Applicant: B Beer Co., Ltd., Problem Class: Low Alcohol High Quality, Count: 10 Applicant: B Beer Co., Ltd., Problem Class: Health-conscious customer support, Count: 17 Applicant: B Beer Co., Ltd., Problem Class: Improving Quality Stability, Count: 14 Applicant: B Beer Co., Ltd., Problem Class: Improving Flavor and Aroma, Count: 88 Applicant: B Beer Co., Ltd., Problem Class: Enhancing the drinking experience, Count: 13 Applicant: A Beer Co., Ltd., Problem Class: Low Alcohol High Quality, Count: 10 Applicant: A Beer Co., Ltd., Problem Class: Health-conscious consumer needs, Count: 16 Applicant: A Beer Co., Ltd., Problem Class: Improving Quality Stability, Count: 21 Applicant: A Beer Co., Ltd., Problem Class: Improving Flavor and Aroma, Count: 89 Applicant: A Beer Co., Ltd., Problem Class: Enhancing the drinking experience, Count: 22 --- Solution Class Counts --- Applicant: C Beer Co., Ltd., Solution Class: Amino Acid-based, Count: 10 Applicant: C Beer Co., Ltd., Solution Class: Alcoholic Beverages, Count: 21 Applicant: C Beer Co., Ltd., Solution Class: Aldehydes, Count: 25 Applicant: C Beer Co., Ltd., Solution Class: Esters, Count: 14 Applicant: C Beer Co., Ltd., Solution Class: Acids, Count: 14 Applicant: D Beer Co., Ltd., Solution Class: Amino Acid-based, Count: 5 Applicant: D Beer Co., Ltd., Solution Class: Alcoholic beverages, Count: 15 Applicant: D Beer Co., Ltd., Solution Class: Aldehydes, Count: 7 Applicant: D Beer Co., Ltd., Solution Class: Esters, Count: 11 Applicant: D Beer Co., Ltd., Solution Class: Acids, Count: 1 Applicant: B Beer Co., Ltd., Solution Class: Amino Acid-based, Count: 20 Applicant: B Beer Co., Ltd., Solution Class: Alcoholic beverages, Count: 38 Applicant: B Beer Co., Ltd., Solution Class: Aldehydes, Count: 25 Applicant: B Beer Co., Ltd., Solution Class: Esters, Count: 51 Applicant: B Beer Co., Ltd., Solution Class: Acids, Count: 8 Applicant: A Beer Co., Ltd., Solution Class: Amino Acid-based, Count: 68 Applicant: A Beer Co., Ltd., Solution Class: Alcoholic beverages, Count: 35 Applicant: A Beer Co., Ltd., Solution Class: Aldehydes, Count: 12 Applicant: A Beer Co., Ltd., Solution Class: Esters, Count: 37 Applicant: A Beer Co., Ltd., Solution Class: Acids, Count: 6

[0044] (STEP 3: Generating the analysis results text data) Next, the control unit 104 sends a prompt containing numerical analysis text data and analysis request text data to the natural language processing server 2, and receives analysis result text data from the natural language processing server 2. The program is as follows.

[0045] (Code block 5) # Generating patent analysis results def generate_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "Please come up with a marketing strategy for B Beer Co., Ltd."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=10000, frequency_penalty=0, presence_penalty=0, ) value_content = response.choices[0].message.content return value_content

[0046] (Explanation of Code Block 5) The `generate_analysis_content()` function is defined to generate analysis result text data (in this case, marketing strategy) using the OpenAI API. This function generates analysis result text data corresponding to the user analysis request text data, based on the aggregated results (numerical analysis text data) of the given patent data.

[0047] The argument `text` receives the aggregated text (numerical analysis text data). This text contains the number of cases for each applicant's problem classification and solution classification, and the large-scale language model performs analysis based on this data.

[0048] The client.chat.completions.create() function is used to instruct the GPT model (gpt-4o-mini) to generate a marketing strategy for B Beer Co., Ltd. based on the analysis results. The model is configured to request responses in a specific format through system messages (analysis request text data). These system messages request the model to perform an analysis based on the challenges and solutions for each applicant obtained from patent data, and to devise a strategy for B Beer Co., Ltd.

[0049] The system message conveys the analysis request text data, "Consider the marketing strategy of B Beer Co., Ltd." Note that the analysis request text data can be modified according to the user's request. For example, it could be "Compare A Beer Co., Ltd. and C Beer Co., Ltd." or "Tell us the key issues."

[0050] (Code block 6) # Generate analysis results analysis_result_content = generate_analysis_content(result_text) print(analysis_result_content)

[0051] (Explanation of Code Block 6) The `generate_analysis_content()` function is used to generate the analysis results of the patent data based on the previously generated `result_text` (numerical analysis text data). These results are saved in `analysis_result_content` (analysis result text data). At this stage, a concrete marketing strategy for B Beer Co., Ltd., based on the patent data, is generated. Finally, the content of the generated analysis results is output. The generated analysis result text data is shown below.

[0052] (Analysis results text data: Generated marketing strategy) When considering B Beer Co., Ltd.'s marketing strategy, it is important to compare it with competitors based on the analysis results of problem classification and solution classification obtained from patent data, and to determine future directions. First, B Beer Co., Ltd. boasts an overwhelming 88 cases in the area of ​​"improving flavor and aroma," which stands out compared to other competitors. In particular, while A Beer Co., Ltd. has a nearly identical number of cases at 89, B Beer Co., Ltd.'s commitment to flavor is significantly stronger than its commitment to other challenges. Leveraging this, B Beer Co., Ltd. could develop a marketing strategy that puts "flavor" front and center. Specifically, it would be important to develop a product lineup that emphasizes the diversity and uniqueness of flavors, providing consumers with new experiences. Next, B Beer Co., Ltd. holds 17 patents related to "health-conscious consumers," a high number compared to C Beer Co., Ltd.'s 11 and D Beer Co., Ltd.'s 9. With the growing health consciousness, the demand for low-alcohol and high-quality beers is increasing, and B Beer Co., Ltd. should proceed with product development to meet this need. In particular, by proposing health-conscious ways of drinking and food pairings, they can conduct marketing that is tailored to consumers' lifestyles. Furthermore, B Beer Co., Ltd. holds 14 patents related to "improving quality stability," which is a very important factor for consumers. By emphasizing quality stability, they can gain consumer trust and encourage repeat purchases. In particular, highlighting transparency in the manufacturing process and quality control can enhance brand credibility. Furthermore, B Beer Co., Ltd. is also focusing on "enhancing the drinking experience" and holds 13 patents. A satisfying drinking experience is an important element of beer, and is especially important for male consumers. By emphasizing this point in promotions and developing new products that offer a satisfying drinking experience, they can expect to expand their target audience. Finally, B Beer Co., Ltd. holds a large number of patents, particularly 51 patents related to "esters," which are noteworthy as a factor that contributes to improving flavor. By leveraging this, they could attract consumer interest by developing new beers that emphasize esters or by proposing ways to drink beer that take advantage of the properties of esters.

[0053] This program performs numerical analysis on beer-related patent data and uses that analysis information to generate responses to user requests (such as marketing strategies). For example, it can target applicants specified by the user and develop strategies based on each applicant's characteristic challenges and solutions. This data-driven approach makes it possible to formulate more effective and competitive marketing strategies. Furthermore, by utilizing patent data, it is possible to grasp technological trends and help build market strategies based on them.

[0054] Furthermore, by changing the content of the analysis request text data, analysis result text data corresponding to the changed analysis request text data is generated based on the numerical analysis text data. In other words, according to this embodiment, a variety of Q&A can be handled based on the numerical analysis text data.

[0055] Furthermore, in this embodiment, the numerical analysis text data consists only of the number of problems and solutions for each applicant. However, it is not limited to this. By adding numerical data from various patent and non-patent data, such as time-series analysis, patent classification ratio analysis for applicants, market growth forecast data, sales data, and market share, to the numerical analysis text data, it is possible to handle an even wider range of Q&A.

[0056] Furthermore, in this embodiment, LLM processing is performed on a text file that combines the aggregated results of the problem classification and the solution classification. However, it is also possible to perform LLM processing on the text files containing the individual aggregated results of the problem classification and the solution classification to obtain the analysis results.

[0057] (Second Embodiment) The processing procedure of the analysis processing program of the embodiment will be described. Note that in this embodiment, data analysis processing is performed on a beer patent, but the target products and processing data are not limited to this. Furthermore, the following sequence of code blocks constitutes the program and method of the embodiment. However, for ease of explanation, the code blocks will be divided and explained separately.

[0058] The program for the analysis method of the embodiment generates display data that visualizes numerical data obtained by processing specific patent data using statistical methods (numerical analysis: aggregation, percentage calculation, statistical analysis, etc.), generates analysis result text from numerical text data generated from the numerical data, and outputs a report that includes the visualized display data.

[0059] Figure 4 is a flowchart of the information analysis process in the embodiment. In STEP 11, terminal 1 generates numerical data by aggregating the patent data to be analyzed using one or more items (in this case, a process combining four items: filing date, applicant, problem classification, and solution classification). In STEP 12, terminal 1 generates numerical text data from this aggregated numerical data. In STEP 13, natural language processing server 2 generates analysis text data from the numerical text data using a large-scale language model. In STEP 14, terminal 1 generates visualization data from the numerical data and outputs the visualization data and analysis text data. Note that this processing order is just an example, and the order of processing may be changed.

[0060] In this embodiment, the product-related items for a given product are the application date, applicant, problem classification, and solution classification from patent data related to beer. However, the items are not limited to these and may include publication date, patent classification, inventor, etc. In addition, questionnaires, user reviews, and papers other than patent data may be processed. Non-patent data such as IR information may also be used. The problem classification and solution classification in this embodiment are unique classifications assigned to the patent data being analyzed.

[0061] (STEP 11: Data Processing) First, the control unit 104 aggregates patent data related to the specific product being analyzed using specific items and generates numerical data. The program is as follows. Note that the following program is a Python program stored in the control unit of terminal 1. However, it is not limited to this, and other programming tools or programming languages ​​(such as VBA or GAS) may be used. Also, the following program is merely an example, and the processing order, libraries, functions, and variable names used may be changed. Note that in this embodiment, the aggregated count of each item is used as numerical data, but other statistical methods (numerical analysis: for example, percentage calculation, statistical analysis, etc.) may also be used.

[0062] (Code block 1) import matplotlib.pyplot as plt import japanize_matplotlib import pandas as pd # Data loading # Using Google Drive from google.colab import drive drive.mount(' / content / drive') # Loading data (from Google Drive) df = pd.read_excel(' / content / drive / MyDrive / Beer_patent_DB_424.xlsx')

[0063] (Explanation of Code Block 1) The control unit 104 imports the pandas library under the name "pd". This library is used for reading and processing data. The control unit 104 also imports matplotlib and japanize_matplotlib. matplotlib is a Python graph plotting library. japanize_matplotlib is a library for correctly displaying Japanese fonts.

[0064] In Google Colab, drive.mount() is used to mount Google Drive. This makes it possible to read files from Google Drive. Next, the control unit 104 reads a specific Excel file (Beer_patent_DB_424.xlsx) from Google Drive and saves it to a data frame named df.

[0065] A portion of the contents of the data frame df is shown below. The patent data shown in df includes various items (columns) (filing date, application number, publication number, title of invention, patent classification, etc.), but here only the filing date, applicant, problem class (classification of the problem of the invention), and solution class (classification of the means of solving the invention), which are used for the embodiment, are displayed, and other items (columns) are omitted. In addition, the first and last 5 entries out of 423 patent data are displayed.

[0066] Application date, applicant, problem, class, solution class 0 2024-02-21 Suntory Beer Low Alcohol High Quality Amino Acid-Based 1 2024-02-20 Suntory Beer Low-Alcohol High-Quality Alcoholic Beverages 2 2022-10-18 Sapporo Beer: Improved Flavor and Aroma (Alcoholic Beverages) 3 2023-10-19 Sapporo Beer Enhanced drinking experience Esters 4 2023-10-19 Sapporo Beer Enhanced drinking experience Aldehydes ... ... ... ... 418 2018-07-05 Asahi Beer: Improvement of quality stability (Alcoholic beverages) 419 2019-02-05 Suntory Beer: Improvement of quality stability (Esters) 420 2018-06-29 Asahi Beer: Improvement of quality stability (Alcoholic beverages) 421 2018-06-26 Sapporo Beer: Improved flavor and aroma, amino acid-based 422 2018-06-25 Suntory Beer: Improved flavor and aroma (esters)

[0067] (Code Block 2) # Installing packages ! pip install openai from openai import OpenAI

[0068] (Explanation of Code Block 2) The control unit 104 installs the openai package. This package is necessary to use the generative AI functions using the OpenAI API. Note that it is necessary to set the OpenAI API KEY, but this is omitted here.

[0069] (Code block 3) # Count of applications by applicant for each problem category p_aggregated_data = df.groupby(['applicant', 'problem class']).size().reset_index(name='count') # Count of applications by application type classification s_aggregated_data = df.groupby(['applicant', 'solution class']).size().reset_index(name='count') # Count of applicant applications per year # Extract the filing year from the filing date. df['Application Year'] = pd.to_datetime(df['Application Date'], errors='coerce').dt.year # Aggregate the number of applications per applicant by year of application. applicant_yearly_counts = df.groupby(['applicant', 'Application Year']).size().reset_index(name='Number of Applications') # Count the number of applications per problem class by application year. problem_yearly_counts = df.groupby(['problem class', 'Application Year']).size().reset_index(name='Number of Applications') # Count the number of applications per problem class for each application year. # Extract the filing year from the filing date. #df['Application Year'] = pd.to_datetime(df['Application Date'], errors='coerce').dt.year # Number of applications per problem class compiled by application year solution_yearly_counts = df.groupby(['solution class', 'Application Year']).size().reset_index(name='Number of Applications') # Counting the number of applications for each problem category and solution classification. # Reduce the number of applications for each solution class. problem_solution_counts = df.groupby(['problem class', 'solution class']).size().reset_index(name='Number of applications')

[0070] (Explanation of Code Block 3) The control unit 104 uses the data frame `df` to aggregate the number of problem classes for each applicant. This process clarifies the types and number of problems each applicant is working on. The aggregated results are stored in a new data frame called `p_aggregated_data` and used for later analysis.

[0071] The control unit 104 uses the data frame `df` to aggregate the number of solution class classifications for each applicant. This process clarifies the types and number of solutions adopted by each applicant. The aggregated results are stored in a new data frame called `s_aggregated_data` and used for subsequent analysis.

[0072] The control unit 104 uses the data frame `df` to extract the `filing year` from the filing date and aggregates the number of applications filed for each year for each applicant. This process clarifies the number of applications filed by each applicant for each year. The aggregated results are stored in a new data frame called `applicant_yearly_counts` and used for later analysis.

[0073] The control unit 104 uses the data frame `df` to aggregate the number of applications for each application year (`application year`) for each problem class. This process clarifies which problems are being prioritized in applications each year. The aggregated results are stored in a new data frame called `problem_yearly_counts` and used for later analysis.

[0074] The control unit 104 uses the data frame `df` to aggregate the number of solution class entries for each filing year. This process clarifies which solutions are most frequently adopted in each year. The aggregated results are stored in a new data frame called `solution_yearly_counts` and used for subsequent analysis.

[0075] The control unit 104 uses the data frame `df` to aggregate the number of solution class entries for each problem class. This process clarifies which solutions are most frequently used for each problem. The aggregated results are stored in a new data frame called `problem_solution_counts` and used for subsequent analysis.

[0076] In this way, the control unit 104 performs aggregation processing in a multidimensional manner, such as the number of solution class items for each applicant, the number of applications for each year for each applicant, the number of problem class items for each application year, the number of solution class items for each application year, and the number of solution class items for each problem class. Of course, the control unit 104 may also perform multidimensional aggregation by arbitrarily combining multiple axes such as "applicant," "application year," "problem class," "solution class," and "patent class." For example, it is possible to aggregate the number of patent classes for each applicant or the number of patent classes for each application year. Of course, depending on the application, it may be a simple single aggregation manner instead of multidimensional.

[0077] (STEP 12: Processing of numerical text data) Next, the control unit 104 generates numerical text data of the aggregated results from the numerical data of the aggregated results. The program is as follows:

[0078] (Code block 4) # Text generation for task classification result_ap_text = "" # Adding a separator result_ap_text += "\n--- Problem Class Counts ---\n" # Adding Problem Class Counts for _, row in p_aggregated_data.iterrows(): result_ap_text += f"Applicant: {row['applicant']}, Problem Class: {row['problem class']}, Count: {row['count']}\n" # Text generation for classifying solutions result_as_text = "" # Adding a separator result_as_text += "\n--- Solution Class Counts ---\n" # Adding Solution Class Counts for _, row in s_aggregated_data.iterrows(): result_as_text += f"Applicant: {row['applicant']}, Solution Class: {row['solution class']}, Count: {row['count']}\n" # Generate text summaries of the number of applications filed by each applicant and application year. result_ay_text = "" # Text summaries of the number of applications filed by each applicant and application year. result_ay_text += "\n--- Applicant Yearly Application Counts ---\n" # Text representation of the number of applications per year for _, row in applicant_yearly_counts.iterrows(): result_ay_text += f"Applicant: {row['applicant']}, Year: {int(row['Year of Application'])}, Count: {row['Number of Applications']}\n" # Generate text summaries of the number of applications by application year for each issue category. result_py_text = "" # Problem: Text summaries of the number of applications filed per application year for each class. result_py_text += "\n--- Problem Class Yearly Application Counts ---\n" # Text representation of the number of applications per year for _, row in problem_yearly_counts.iterrows(): result_py_text += f"Problem Class: {row['problem class']}, Year: {int(row['Application Year'])}, Count: {row['Number of Applications']}\n" # Generate text summaries of the number of applications filed by application year for each solution classification. result_sy_text = "" #solution Text summaries of the number of applications filed per application year for each class. result_sy_text += "\n--- Solution Class Yearly Application Counts ---\n" # Text representation of the number of applications per year for _, row in solution_yearly_counts.iterrows(): result_sy_text += f"Solution Class: {row['solution class']}, Year: {int(row['Application Year'])}, Count: {row['Number of Applications']}\n" # Generate text summaries of the number of applications for each problem category and solution category. result_ps_text = "" # Text summaries of the number of applications filed for each problem class and each solution class. result_ps_text += "\n--- Problem Class and Solution Class Application Counts ---\n" # Convert aggregated results to text for _, row in problem_solution_counts.iterrows(): result_ps_text += f"Problem Class: {row['problem class']}, Solution Class: {row['solution class']}, Count: {row['Number of applications']}\n"

[0079] (Explanation of Code Block 4) The control unit 104 uses the data frame `p_aggregated_data` to output the number of problem classes for each applicant in text format. This clarifies the types and number of problems each applicant is working on and records them as text.

[0080] The control unit 104 uses the data frame `s_aggregated_data` to output the number of solution class classifications for each applicant in text format. This clarifies the types and number of solutions adopted by each applicant and records them as text.

[0081] The control unit 104 uses the data frame `applicant_yearly_counts` to output the number of applications filed per year (`application year`) for each applicant (`applicant`) in text format. This clearly shows the number of applications filed per year for each applicant and records it as text.

[0082] The control unit 104 uses the data frame `problem_yearly_counts` to output the number of applications per year (`application year`) for each problem class (`problem class`) in text format. This clarifies the application trends for each problem class in each year and records them as text.

[0083] The control unit 104 uses the data frame `solution_yearly_counts` to output the number of applications per year (`application year`) for each solution class in text format. This clarifies the application trends for each solution class in each year and records them as text.

[0084] The control unit 104 uses the data frame `problem_solution_counts` to output the number of solution class classifications for each problem class in text format. This clearly shows which solutions are most frequently used for each problem class, and this information is recorded as text.

[0085] The generated numerical text data is shown below.

[0086] (Applicant / Project Count Quantified Text Data) --- Plan Class Counts --- Applicant: Asahi Beer, Problem Class: Low Alcohol, High Quality, Count: 5 Applicant: Asahi Breweries, Problem Class: Health-conscious consumer needs, Count: 11 Applicant: Asahi Breweries, Problem Class: Improving Quality Stability, Count: 16 Applicant: Asahi Beer, Problem Class: Improving Flavor and Aroma, Count: 42 Applicant: Asahi Beer, Problem Class: Enhancing the taste and texture, Count: 10 Applicant: Kirin Beer, Problem Class: Low Alcohol, High Quality, Count: 4 Applicant: Kirin Brewery, Problem Class: Health-conscious customer support, Count: 9 Applicant: Kirin Brewery, Problem Class: Improving Quality Stability, Count: 1 Applicant: Kirin Beer, Problem Class: Improving Flavor and Aroma, Count: 19 Applicant: Kirin Beer, Problem Class: Enhancing the taste and body, Count: 6 Applicant: Sapporo Beer, Problem Class: Low Alcohol, High Quality, Count: 10 Applicant: Sapporo Beer, Problem Class: Health-conscious customer support, Count: 17 Applicant: Sapporo Beer, Problem Class: Improving Quality Stability, Count: 14 Applicant: Sapporo Beer, Problem Class: Improving Flavor and Aroma, Count: 88 Applicant: Sapporo Beer, Problem Class: Enhancing the drinking experience, Count: 13 Applicant: Suntory Beer, Problem Class: Low Alcohol, High Quality, Count: 10 Applicant: Suntory Beer, Problem Class: Health-conscious consumer needs, Count: 16 Applicant: Suntory Beer, Problem Class: Improving Quality Stability, Count: 21 Applicant: Suntory Beer, Problem Class: Improvement of Flavor and Aroma, Count: 89 Applicant: Suntory Beer, Problem Class: Enhancing the drinking experience, Count: 22

[0087] (Applicant / Solution Count Quantified Text Data) --- Solution Class Counts --- Applicant: Asahi Breweries, Solution Class: Amino Acid-based, Count: 10 Applicant: Asahi Breweries, Solution Class: Alcoholic beverages, Count: 21 Applicant: Asahi Breweries, Solution Class: Aldehydes, Count: 25 Applicant: Asahi Breweries, Solution Class: Esters, Count: 14 Applicant: Asahi Breweries, Solution Class: Acids, Count: 14 Applicant: Kirin Brewery, Solution Class: Amino Acid-based, Count: 5 Applicant: Kirin Brewery, Solution Class: Alcoholic beverages, Count: 15 Applicant: Kirin Brewery, Solution Class: Aldehydes, Count: 7 Applicant: Kirin Beer, Solution Class: Esters, Count: 11 Applicant: Kirin Brewery, Solution Class: Acids, Count: 1 Applicant: Sapporo Beer, Solution Class: Amino Acid-based, Count: 20 Applicant: Sapporo Beer, Solution Class: Alcohol, Count: 38 Applicant: Sapporo Beer, Solution Class: Aldehydes, Count: 25 Applicant: Sapporo Beer, Solution Class: Esters, Count: 51 Applicant: Sapporo Beer, Solution Class: Acids, Count: 8 Applicant: Suntory Beer, Solution Class: Amino Acid-based, Count: 68 Applicant: Suntory Beer, Solution Class: Alcohol, Count: 35 Applicant: Suntory Beer, Solution Class: Aldehydes, Count: 12 Applicant: Suntory Beer, Solution Class: Esters, Count: 37 Applicant: Suntory Beer, Solution Class: Acids, Count: 6

[0088] (Applicant and application year count quantified text data) --- Applicant Yearly Application Counts --- Applicant: Asahi Breweries, Year: 2018, Count: 2 Applicant: Asahi Breweries, Year: 2019, Count: 24 Applicant: Asahi Breweries, Year: 2020, Count: 17 Applicant: Asahi Breweries, Year: 2021, Count: 13 Applicant: Asahi Breweries, Year: 2022, Count: 19 Applicant: Asahi Breweries, Year: 2023, Count: 9 Applicant: Kirin Brewery, Year: 2018, Count: 4 Applicant: Kirin Brewery, Year: 2019, Count: 2 Applicant: Kirin Brewery, Year: 2020, Count: 2 Applicant: Kirin Brewery, Year: 2021, Count: 10 Applicant: Kirin Brewery, Year: 2022, Count: 14 Applicant: Kirin Brewery, Year: 2023, Count: 7 Applicant: Sapporo Beer, Year: 2018, Count: 28 Applicant: Sapporo Beer, Year: 2019, Count: 25 Applicant: Sapporo Beer, Year: 2020, Count: 27 Applicant: Sapporo Beer, Year: 2021, Count: 27 Applicant: Sapporo Beer, Year: 2022, Count: 22 Applicant: Sapporo Beer, Year: 2023, Count: 13 Applicant: Suntory Beer, Year: 2018, Count: 7 Applicant: Suntory Beer, Year: 2019, Count: 36 Applicant: Suntory Beer, Year: 2020, Count: 29 Applicant: Suntory Beer, Year: 2021, Count: 30 Applicant: Suntory Beer, Year: 2022, Count: 35 Applicant: Suntory Beer, Year: 2023, Count: 16 Applicant: Suntory Beer, Year: 2024, Count: 5

[0089] (Text data representing the number of years of application and application for the project) --- Problem Class Yearly Application Counts --- Problem Class: Low Alcohol, High Quality, Year: 2018, Count: 1 Problem Class: Low Alcohol, High Quality, Year: 2019, Count: 3 Problem Class: Low Alcohol, High Quality, Year: 2020, Count: 2 Problem Class: Low Alcohol, High Quality, Year: 2021, Count: 8 Problem Class: Low Alcohol, High Quality, Year: 2022, Count: 12 Problem Class: Low Alcohol, High Quality, Year: 2023, Count: 1 Problem Class: Low Alcohol, High Quality, Year: 2024, Count: 2 Problem Class: Health-Consciousness-Related, Year: 2018, Count: 2 Problem Class: Health-Consciousness-Related, Year: 2019, Count: 4 Problem Class: Health-Consciousness-Related, Year: 2020, Count: 10 Problem Class: Health-Consciousness-Related, Year: 2021, Count: 6 Problem Class: Health-Consciousness-Related Issues, Year: 2022, Count: 19 Problem Class: Health-conscious response, Year: 2023, Count: 12 Problem Class: Improving Quality Stability, Year: 2018, Count: 11 Problem Class: Improving Quality Stability, Year: 2019, Count: 23 Problem Class: Improving Quality and Stability, Year: 2020, Count: 5 Problem Class: Improving Quality Stability, Year: 2021, Count: 1 Problem Class: Improving Quality and Stability, Year: 2022, Count: 9 Problem Class: Improving Quality and Stability, Year: 2023, Count: 3 Problem Class: Improving Flavor and Aroma, Year: 2018, Count: 24 Problem Class: Improving Flavor and Aroma, Year: 2019, Count: 46 Problem Class: Improving Flavor and Aroma, Year: 2020, Count: 53 Problem Class: Improving Flavor and Aroma, Year: 2021, Count: 56 Problem Class: Improving Flavor and Aroma, Year: 2022, Count: 38 Problem Class: Improving Flavor and Aroma, Year: 2023, Count: 20 Problem Class: Improving Flavor and Aroma, Year: 2024, Count: 1 Problem Class: Enhancing the drinking experience, Year: 2018, Count: 3 Problem Class: Enhancing the drinking experience, Year: 2019, Count: 11 Problem Class: Enhancing the drinking experience, Year: 2020, Count: 5 Problem Class: Enhancing the drinking experience, Year: 2021, Count: 9 Problem Class: Enhancing the drinking experience, Year: 2022, Count: 12 Problem Class: Enhancing the drinking experience, Year: 2023, Count: 9 Problem Class: Enhancing the drinking experience, Year: 2024, Count: 2

[0090] (Solution: Numerical text data of the application year count) --- Solution Class Yearly Application Counts --- Solution Class: Amino Acid-based, Year: 2018, Count: 8 Solution Class: Amino Acid-based, Year: 2019, Count: 30 Solution Class: Amino Acid-based, Year: 2020, Count: 13 Solution Class: Amino Acid-based, Year: 2021, Count: 17 Solution Class: Amino Acid-based, Year: 2022, Count: 23 Solution Class: Amino Acid-based, Year: 2023, Count: 9 Solution Class: Amino Acid-based, Year: 2024, Count: 3 Solution Class: Alcohols, Year: 2018, Count: 14 Solution Class: Alcohols, Year: 2019, Count: 20 Solution Class: Alcohols, Year: 2020, Count: 16 Solution Class: Alcohols, Year: 2021, Count: 20 Solution Class: Alcohols, Year: 2022, Count: 20 Solution Class: Alcohols, Year: 2023, Count: 17 Solution Class: Alcohols, Year: 2024, Count: 2 Solution Class: Aldehydes, Year: 2018, Count: 3 Solution Class: Aldehydes, Year: 2019, Count: 7 Solution Class: Aldehydes, Year: 2020, Count: 13 Solution Class: Aldehydes, Year: 2021, Count: 14 Solution Class: Aldehydes, Year: 2022, Count: 21 Solution Class: Aldehydes, Year: 2023, Count: 11 Solution Class: Esters, Year: 2018, Count: 15 Solution Class: Esters, Year: 2019, Count: 25 Solution Class: Esters, Year: 2020, Count: 29 Solution Class: Esters, Year: 2021, Count: 24 Solution Class: Esters, Year: 2022, Count: 16 Solution Class: Esters, Year: 2023, Count: 4 Solution Class: Acids, Year: 2018, Count: 1 Solution Class: Acids, Year: 2019, Count: 5 Solution Class: Acids, Year: 2020, Count: 4 Solution Class: Acids, Year: 2021, Count: 5 Solution Class: Acids, Year: 2022, Count: 10 Solution Class: Acids, Year: 2023, Count: 4

[0091] (Count of problems and solutions, quantified as text data) --- Problem Class and Solution Class Application Counts --- Reaction Class: Low Alcohol, High Quality; Solution Class: Amino Acid-Based; Count: 8 Error Class: Low Alcohol High Quality, Solution Class: Alcohols, Count: 7 Problem Class: Low Alcohol, High Quality; Solution Class: Aldehydes; Count: 4 Return Class: Low Alcohol, High Quality; Solution Class: Esters; Count: 7 Problem Class: Low Alcohol High Quality, Solution Class: Acids, Count: 3 Problem Class: Health-conscious approach, Solution Class: Amino acid-based, Count: 18 Problem Class: Health-conscious consumer needs, Solution Class: Alcoholic beverages, Count: 18 Problem Class: Health-conscious response, Solution Class: Aldehydes, Count: 6 Problem Class: Health-conscious approach, Solution Class: Esters, Count: 5 Problem Class: Health conscious, Solution Class: Acids, Count: 6 Problem Class: Improving Quality Stability, Solution Class: Amino Acid-Based, Count: 16 Problem Class: Improving Quality Stability, Solution Class: Alcohols, Count: 19 Problem Class: Improving Quality Stability, Solution Class: Aldehydes, Count: 6 Problem Class: Improving Quality Stability, Solution Class: Esters, Count: 9 Problem Class: Improving quality stability, Solution Class: Acids, Count: 2 Problem Class: Improvement of flavor and aroma, Solution Class: Amino acid-based, Count: 42 Problem Class: Improving Flavor and Aroma, Solution Class: Alcohols, Count: 57 Problem Class: Improvement of flavor and aroma, Solution Class: Aldehydes, Count: 44 Problem Class: Improvement of flavor and aroma, Solution Class: Esters, Count: 80 Problem Class: Improving Flavor and Aroma, Solution Class: Acids, Count: 15 Problem Class: Enhancing the taste and texture, Solution Class: Amino acid-based, Count: 19 Problem Class: Enhancing the drinking experience, Solution Class: Alcoholic beverages, Count: 8 Problem Class: Enhancing the taste and texture, Solution Class: Aldehydes, Count: 9 Problem Class: Enhancing the taste, Solution Class: Esters, Count: 12 Problem Class: Enhancing the taste, Solution Class: Acids, Count: 3

[0092] (STEP 13: Generating analysis text data) Next, the control unit 104 sends the digitized text data and the instruction information for generating analyzed text data from the digitized text data to the natural language processing server 2, and receives the analyzed text data from the natural language processing server 2. The program is as follows.

[0093] (Code block 5) # Generation of analysis results for the number of applications per applicant categorized by problem type def generate_ap_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of cases per applicant classified as a problem, extracted from beer patent data.##Please explain this analysis.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_ap_content = generate_ap_analysis_content(result_ap_text) # Generation of analysis results for the number of solutions classified by applicant def generate_as_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of solution classifications by applicant extracted from beer patent data.##Please explain this analysis result.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_as_content = generate_as_analysis_content(result_as_text) # Generating analysis results of the number of applications by applicant and application year def generate_ay_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of applications by applicant and application year extracted from beer patent data.##Please explain this analysis.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_ay_content = generate_ay_analysis_content(result_ay_text) # Generating analysis results of the number of applications by application year for each problem category def generate_py_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of patent applications by application year for each issue category, extracted from beer patent data.##Please explain this analysis.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_py_content = generate_py_analysis_content(result_py_text) # Generation of analysis results for the number of applications by application year for each solution classification def generate_sy_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of patent applications by filing year for each solution classification extracted from beer patent data.##Please explain this analysis result.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_sy_content = generate_sy_analysis_content(result_sy_text) # Generation of analysis results for the number of patent applications by problem classification and solution classification def generate_ps_analysis_content(text): response = client.chat.completions.create( model="gpt-4o-mini" Messages=[ {"role": "system", "content": "##The following text is an analysis of the number of patent applications for each problem classification and solution classification extracted from beer patent data.##Please explain these analysis results.##Please answer in Japanese."}, {"role": "user", "content": text}], Temperature = 0, max_tokens=1000, frequency_penalty=0, presence_penalty=0, ) return response.choices[0].message.content # Generate analysis results analysis_result_ps_content = generate_ps_analysis_content(result_ps_text)

[0094] (Explanation of Code Block 5) The control unit 104 inputs text (`result_ap_text`) containing data on the number of issues in each patent category for each applicant into the large-scale language model (LLM:GPT-4o-mini). The system message (prompt) instructs the LLM to generate analysis text data, stating, "The following text is the analysis result of the number of issues in each patent category extracted from beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM provides the aggregated results of the issues categories as input data. The LLM analyzes this content and outputs analysis text data in natural language, describing the issues each applicant is working on and the trends in their number.

[0095] The control unit 104 inputs text (`result_as_text`) containing data on the number of solution classifications for each applicant into the LLM. The system message (prompt) specifies the following as instruction information for generating analysis text data: "The following text is the analysis result of the number of solution classifications for each applicant extracted from the beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM then analyzes which solution each applicant is using and outputs the analysis text data in natural language.

[0096] The control unit 104 inputs text (`result_ay_text`) containing the number of applications filed by year for each applicant into the LLM. The system message (prompt) instructs the LLM to generate analysis text data, stating, "The following text is the analysis result of the number of applications filed by year for each applicant, extracted from beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM then analyzes the fluctuations and characteristics of the number of applications filed by year for each applicant and outputs the analysis text data in natural language.

[0097] The control unit 104 inputs a text file (`result_py_text`) containing data on the number of patent applications per year for each issue category into the LLM. The system message (prompt) instructs the LLM to generate analysis text data, stating, "The following text is the analysis result of the number of patent applications per year for each issue category extracted from beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM then analyzes the issues addressed each year and their changes, and outputs the analysis text data in natural language.

[0098] The control unit 104 inputs text (`result_sy_text`) containing data on the number of patent applications by year for each solution classification to the LLM. The system message (prompt) specifies the following as instruction information for generating analysis text data: "The following text is the analysis result of the number of patent applications by year for each solution classification extracted from beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM then analyzes the trends and points of interest of the solutions used each year and outputs the analysis text data in natural language.

[0099] The control unit 104 inputs text (`result_ps_text`) containing data on the number of applications for each solution category for each problem category into the LLM. The system message (prompt) specifies the following as instruction information for generating analysis text data: "The following text is the analysis result of the number of applications for each solution category for each problem category extracted from beer patent data. Please explain this analysis result. Please answer in Japanese." The LLM then analyzes the relationship between problems and solutions and frequently occurring combinations, and outputs the analysis text data in natural language.

[0100] Thus, the input to LLM is sent to the LLM along with instructions for generating analysis text data, instructing it to summarize and explain the results in natural language. Based on the specified instructions, the LLM analyzes the data and reconstructs it into easy-to-understand Japanese text. The output from the LLM is analysis text data, where the analysis results for each dataset are presented as clear and easy-to-read natural language explanations.

[0101] The generated analysis text data is shown below.

[0102] (Analysis text data: Applicant / Problem analysis text data) This analysis reveals the challenges that major beer manufacturers—Asahi Beer, Kirin Beer, Sapporo Beer, and Suntory Beer—are facing in their patent applications. The results show the number of applications filed by each company, categorized by problem type. 1. **Asahi Beer**: - The most common patent applications (42) are related to improving flavor and aroma, followed by improving quality stability (16), and addressing health-conscious needs (11). Applications related to low-alcohol, high-quality beverages and enhanced body are relatively few. 2. **Kirin Beer**: - The most common patent applications were for improving flavor and aroma (19 applications), followed by addressing health-conscious consumers (9 applications), but there were very few applications for improving quality stability (only 1). There were also applications for lower alcohol content, higher quality, and enhanced body, but overall the number of applications is lower compared to Asahi Beer. 3. **Sapporo Beer**: - The most common applications were for improving flavor and aroma (88 applications), followed by applications for addressing health-conscious needs (17 applications) and improving quality stability (14 applications). While there were also applications for lower alcohol content, higher quality, and enhanced body, it is clear that there is a particular focus on improving flavor and aroma. 4. **Suntory Beer**: - The most common applications were for improving flavor and aroma (89 applications), followed by enhancing body (22 applications) and improving quality stability (21 applications). There were also 16 applications related to health-conscious consumers, but overall, the focus on improving flavor and aroma is particularly prominent. Overall, many companies have filed numerous patent applications to improve flavor and aroma, indicating that this is a crucial issue for meeting consumer preferences. Furthermore, it is evident that health consciousness and improved quality stability are also important themes being addressed. Sapporo Beer and Suntory Beer, in particular, have filed a large number of patent applications related to flavor and aroma enhancement, suggesting that this is central to their product strategies.

[0103] (Analysis text data: Applicant / Solution analysis text data) This analysis, based on beer patent data, shows the types of solutions each applicant (Asahi Beer, Kirin Beer, Sapporo Beer, Suntory Beer) uses. The solutions are classified into five categories: amino acids, alcohols, aldehydes, esters, and acids. 1. **Asahi Beer**: - Amino acid-based: 10 items - Alcoholic beverages: 21 items - Aldehydes: 25 items - Esters: 14 items - Acids: 14 items Asahi Breweries has filed many patents, particularly for aldehydes, and also for alcohols. 2. **Kirin Beer**: - Amino acid-based: 5 items - Alcoholic beverages: 15 items - Aldehydes: 7 items - Esters: 11 items - Acids: 1 item - Kirin Brewery has fewer patents overall compared to other applicants, and in particular, it has only one patent application for acids. 3. **Sapporo Beer**: - Amino acid-based: 20 items - Alcoholic beverages: 38 items - Aldehydes: 25 items - Esters: 51 items - Acids: 8 items Sapporo Beer has filed the most patents in the field of esters, and also has many patents in the field of alcohols. 4. **Suntory Beer**: - Amino acid-based: 68 items - Alcoholic beverages: 35 items - Aldehydes: 12 items - Esters: 37 items - Acids: 6 items - Suntory Beer has filed an overwhelming number of patents in the amino acid category, and also holds a certain number in other categories. Overall, it's clear that Suntory Beer is particularly focused on amino acids. Sapporo Beer has a strong presence in esters, and both Asahi Beer and Sapporo Beer have filed numerous patents in aldehydes. Kirin Beer has a relatively small number of patents overall, with no notable applications in acids. This can be seen as a reflection of each company's patent strategy and R&D direction.

[0104] (Analysis text data: Applicant and application year analysis text data) This analysis shows the number of patent applications filed from 2018 to 2024 for four major beer manufacturers: Asahi Breweries, Kirin Breweries, Sapporo Breweries, and Suntory Breweries. 1. **Asahi Beer**: - While there were only two applications in 2018, there was a sharp increase to 24 in 2019. Subsequently, the number of applications decreased from 2020 to 2022, reaching 9 in 2023. Overall, 2019 was the peak, and the trend has been downward since then. 2. **Kirin Beer**: - While the number of cases was relatively low in 2018 (4 cases) and 2 in 2019 (2 cases), it increased to 10 in 2021 and 14 in 2022. There were 7 cases in 2023, and although there are fluctuations overall, it can be said that there has been an increasing trend since 2021. 3. **Sapporo Beer**: - In 2018, there were a high number of applications at 28, and in 2019, the number remained stable at 25. From 2020 to 2021, it remained flat at 27, but decreased to 22 in 2022 and 13 in 2023. Overall, the number of applications remains high, but there has been a downward trend recently. 4. **Suntory Beer**: - Starting with 7 applications in 2018, the number increased significantly to 36 in 2019. While maintaining a high number of applications thereafter (29 in 2020, 30 in 2021, and 35 in 2022), it decreased to 16 in 2023 and further to 5 in 2024. Suntory Beer also saw a peak in applications in 2019, followed by a downward trend. Overall, while there are year-to-year fluctuations in the number of patent applications filed by each company, Suntory Beer and Asahi Beer have been on a downward trend since peaking in 2019, while Kirin Beer appears to be gradually increasing. Sapporo Beer has maintained a relatively stable number of applications, but has recently seen a decrease. This data may reflect changes in each company's research and development and market strategies.

[0105] (Analysis text data: Application year, problem analysis text data) This analysis shows the number of patent applications related to beer, categorized by issue, year by year. The trends for each issue category are explained below. 1. **Low alcohol, high quality**: - The number of applications increased from 2018 to 2022, with particularly sharp increases in 2021 and 2022, reaching 8 and 12 applications respectively. However, it decreased again to 1 application in 2023, and 2 applications are expected in 2024. This suggests that there was a temporary surge in interest in low-alcohol, high-quality beer. 2. **Health-conscious approach**: - The number of applications increased from 2018 to 2022, with a peak of 19 applications in 2022. There were also 12 applications in 2023, indicating a growing demand for health-conscious beer. After a sharp increase to 10 applications in 2020, the number decreased to 6 in 2021, but has since increased again. 3. **Improved Quality Stability**: - While there were many applications (11) in 2018, this number increased further to 23 in 2019. However, it decreased sharply to 5 in 2020 and 1 in 2021, and then decreased again to 9 in 2022 and 3 in 2023. This suggests that interest in quality stability may have temporarily increased before shifting to other issues. 4. **Improved Flavor and Aroma**: - The number of applications for this research category increased from 2018 to 2021, peaking at 56 in 2021. While this decreased to 38 in 2022 and 20 in 2023, it remains a high level of interest. One application is projected for 2024, indicating a generally high level of interest in improving flavor and aroma. 5. **Enhanced drinking experience**: - The number of applications increased from 2018 to 2022, with a particularly high number of 12 applications in 2022. While there was a slight decrease to 9 applications in 2023, 2 applications are expected in 2024. This indicates that interest in enhancing the taste and texture of beverages remains strong. Overall, beer patent applications fluctuate from year to year, with a particularly high number of applications related to health consciousness and flavor, while applications related to quality stability indicate a temporary surge in interest. These shifts in interest in each issue are likely influenced by consumer preferences and market trends.

[0106] (Analysis text data: Year of application, Solution analysis text data) This analysis shows the number of patent applications related to beer, categorized by solution type and filed year. The trends in the number of applications for each solution type are explained below. 1. **Amino Acid-Based**: - The number of patent applications surged from 2018 to 2019, reaching 30, but has been declining since then. There were fluctuations, with 13 applications in 2020, 17 in 2021, and 23 in 2022, before decreasing again to 9 in 2023 and 3 in 2024. 2. **Alcohols**: - The number of applications for alcohol-related products has remained relatively constant, increasing from 14 in 2018 to 20 in 2019. It then stayed at 20 from 2021 to 2022, and although it decreased to 17 in 2023, overall, the number of applications has remained stable. 3. **Aldehydes**: - Aldehydes increased from 3 cases in 2018 to 7 cases in 2019, 13 cases in 2020, and continued to grow to 14 cases in 2021 and 21 cases in 2022. Although it decreased to 11 cases in 2023, an overall upward trend is observed. 4. **Esters**: - The number of esters increased from 15 in 2018 to 25 in 2019 and 29 in 2020, but decreased to 24 in 2021 and 16 in 2022, and is projected to drop sharply to 4 in 2023. This classification has been declining particularly rapidly after peaking in 2020. 5. **Acids**: - The number of patent applications for acids is very low, with only 1 in 2018, 5 in 2019, and 4 in 2020. While this increased to 5 in 2021 and 10 in 2022, it decreased again to 4 in 2023. Overall, while there have been significant fluctuations in the number of applications for amino acids and esters, applications for alcohols have remained relatively stable. Aldehydes are on the rise, while acids continue to see a small number of applications. These data may reflect advancements in beer manufacturing and ingredient technology, as well as changes in market needs.

[0107] (Analysis text data: Problem classification and solution classification analysis text data) This analysis, based on patent data related to beer, shows the number of patent applications for each solution class corresponding to different problem classes. The following is an overview of the number of applications for each problem class and its solution. 1. **Low alcohol, high quality**: - Solutions to this problem have been proposed using amino acids (8 applications), alcohols (7 applications), esters (7 applications), aldehydes (4 applications), and acids (3 applications). Amino acids and esters, in particular, account for a large number of applications. 2. **Health-conscious approach**: - Regarding health-related issues, amino acids and alcohols were the most frequent, with 18 cases each, followed by aldehydes (6 cases), acids (6 cases), and esters (5 cases). Amino acids and alcohols are receiving particular attention. 3. **Improved Quality Stability**: - In this challenge, alcohols (19 proposals) were the most frequently proposed, followed by amino acids (16 proposals), esters (9 proposals), aldehydes (6 proposals), and acids (2 proposals). This indicates that alcohols play an important role in quality stability. 4. **Improved Flavor and Aroma**: - Regarding the improvement of flavor and aroma, esters (80 cases) are overwhelmingly the most numerous, followed by alcohols (57 cases), aldehydes (44 cases), amino acids (42 cases), and acids (15 cases). It is clear that esters are particularly emphasized. 5. **Enhancement of palatability**: - Regarding the enhancement of palatability, amino acids (19 cases) are the most numerous, followed by aldehydes (9 cases), esters (12 cases), alcohols (8 cases), and acids (3 cases) have been proposed. It has been shown that amino acids play an important role in enhancing palatability. Overall, the number of applications for solutions to each problem is different. In particular, esters account for a very large number of applications in improving flavor and aroma, which is characteristic. Also, amino acids and alcohols are cited as important solutions in terms of health orientation and quality stability. These data suggest the trends and research directions in beer production and improvement.

[0108] (STEP14: Output of visualization data and analysis text data) Next, the control unit 104 executes a process of generating visualization data from the digitized data and outputting the visualization data and the analysis text data. The program is as follows. In the embodiment, the visualization data is a graph, but it is not limited to a graph image (such as PNG), and other visualization means such as a graph, table, vector diagram, or interactive UI may also be used.

[0109] (Code block 6) # Install python-docx !pip install python-docx from docx import Document from docx.shared import Inches import io # Create a new Word document doc = Document() # Added a horizontal bar graph showing the classification of tasks by applicant. doc.add_heading('1. Graph classifying tasks by applicant', level=1) for applicant in applicants: # Filtering data for specific applicants applicant_data = p_aggregated_data[p_aggregated_data['applicant'] == applicant] # Create a graph and save it to a byte stream plt.figure(figsize=(10, 6)) plt.barh(applicant_data['problem class'], applicant_data['count'], color='skyblue') plt.xlabel('Count', fontsize=12) plt.ylabel('Problem Class', fontsize=12) plt.title(f'Problem Class Count for {applicant}', fontsize=14) plt.gca().invert_yaxis() plt.grid(axis='x', linestyle='--', alpha=0.7) plt.tight_layout() # Save graph as image img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) # Add image to document doc.add_picture(img_stream, width=Inches(6)) plt.close() # Add text for task classification doc.add_heading('Analysis of Problem Classification', level=2) doc.add_paragraph(analysis_result_ap_content) # Added a graph classifying solutions by applicant. doc.add_heading('2. Graph classifying solutions by applicant', level=1) for applicant in s_aggregated_data['applicant'].unique(): applicant_data = s_aggregated_data[s_aggregated_data['applicant'] == applicant] plt.figure(figsize=(10, 6)) plt.barh(applicant_data['solution class'], applicant_data['count'], color='lightgreen') plt.xlabel('Count', fontsize=12) plt.ylabel('Solution Class', fontsize=12) plt.title(f'Solution Class Count for {applicant}', fontsize=14) plt.gca().invert_yaxis() plt.grid(axis='x', linestyle='--', alpha=0.7) plt.tight_layout() img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) doc.add_picture(img_stream, width=Inches(6)) plt.close() # Add text for solution classification doc.add_heading('Analysis of Solution Classification', level=2) doc.add_paragraph(analysis_result_as_content) # Add time series graph for each applicant doc.add_heading('3. Time Series Graph for Each Applicant', level=1) for applicant in unique_applicants: applicant_data = applicant_yearly_counts[applicant_yearly_counts['applicant'] == applicant] plt.figure(figsize=(10, 6)) plt.plot(applicant_data['Application Year'], applicant_data['Number of Applications'], marker='o') plt.title(f'{applicant} - Number of Applications by Application Year') plt.xlabel('Application Year') plt.ylabel('Number of Applications') plt.xticks(applicant_data['Application Year'].unique()) plt.grid(True) img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) doc.add_picture(img_stream, width=Inches(6)) plt.close() # Add text for time series analysis for each applicant doc.add_heading('Time Series Analysis for Each Applicant', level=2) doc.add_paragraph(analysis_result_ay_content) # Added time-series graphs for each task category. doc.add_heading('4. Time-series graphs by issue classification', level=1) for problem_class in unique_problem_classes: problem_data = problem_yearly_counts[problem_yearly_counts['problem class'] == problem_class] plt.figure(figsize=(10, 6)) plt.plot(problem_data['Year of Application'], problem_data['Number of Applications'], marker='o') plt.title(f'{problem_class} - Number of applications per year of application') plt.xlabel('Application year') plt.ylabel('Number of applications') plt.xticks(problem_data['Application Year'].unique()) plt.grid(True) img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) doc.add_picture(img_stream, width=Inches(6)) plt.close() # Added text for time-series analysis by issue category. doc.add_heading('Time-series analysis by issue classification', level=2) doc.add_paragraph(analysis_result_py_content) # Added time-series graphs categorized by solution method. doc.add_heading('5. Time-series graphs by solution classification', level=1) for solution_class in unique_solution_classes: solution_data = solution_yearly_counts[solution_yearly_counts['solution class'] == solution_class] plt.figure(figsize=(10, 6)) plt.plot(solution_data['Year of Application'], solution_data['Number of Applications'], marker='o') plt.title(f'{solution_class} - Number of applications per year of application') plt.xlabel('Application year') plt.ylabel('Number of applications') plt.xticks(solution_data['Application Year'].unique()) plt.grid(True) img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) doc.add_picture(img_stream, width=Inches(6)) plt.close() # Added text for time-series analysis by solution classification. doc.add_heading('Time-series analysis by solution classification', level=2) doc.add_paragraph(analysis_result_sy_content) # Added a graph showing the classification of solutions for each problem category. doc.add_heading('6. Graph of Solutions Classified by Problem Category', level=1) for problem_class in unique_problem_classes: problem_data = problem_solution_counts[problem_solution_counts['problem class'] == problem_class] plt.figure(figsize=(10, 6)) plt.bar(problem_data['solution class'], problem_data['number of applications']) plt.title(f'{problem_class} - Number of applications per Solution Class') plt.xlabel('Solution Class') plt.ylabel('Number of applications') plt.xticks(rotation=45) plt.grid(axis='y', linestyle='--', alpha=0.7) img_stream = io.BytesIO() plt.savefig(img_stream, format='png') img_stream.seek(0) doc.add_picture(img_stream, width=Inches(6)) plt.close() # Added analysis text for classifying solutions by problem category. doc.add_heading('Analysis of problem classification and solution classification', level=2) doc.add_paragraph(analysis_result_ps_content) # Save Word file doc.save(' / content / drive / MyDrive / patent_analysis_report.docx')

[0110] (Explanation of Code Block 6) This program outputs patent analysis reports as Word documents. However, the text output is not limited to Word files; it can also be in other text formats such as PDF, image data, screen data, or audio data.

[0111] First, the control unit 104 installs the python-docx library and imports the Document, Inches, and io modules. Next, the control unit 104 calls the Document() function to create a new document.

[0112] Next, the control unit 104 creates and adds a problem classification graph for each applicant. The input data is a list of applicants (applicants) and aggregated data for each applicant and problem classification (p_aggregated_data). Using this data, the control unit 104 creates a horizontal bar graph of the problem classification for each applicant using matplotlib. The created graph is saved as an image in memory using a BytesIO object and then added to a Document object. The output data of this process is the Document object with the graph image added.

[0113] Next, the control unit 104 adds analysis text for the problem classification. The input data is the analysis result text for the problem classification (analysis_result_ap_content). This text is added as a paragraph to the Document object. The output data is the Document object with the added text.

[0114] Next, the control unit 104 creates and adds a graph classifying the solutions for each applicant. The input data is aggregated data (s_aggregated_data) for each applicant and solution classification. The control unit 104 uses this data to create a horizontal bar graph of the solution classification for each applicant and adds it to the Document object. The output data is the Document object with the graph image added.

[0115] Next, the control unit 104 adds analysis text for the solution classification. The input data is the analysis result text (analysis_result_as_content) for the solution classification, which is added to the Document object. The output data is the Document object with the added text.

[0116] Next, the control unit 104 creates and adds time-series graphs for each applicant. The input data consists of a list of unique applicants (unique_applicants) and annual application count data for each applicant (applicant_yearly_counts). The control unit 104 uses this data to create a time-series line graph for each applicant and adds it to the Document object. The output data is the Document object with the graph image added.

[0117] Next, the control unit 104 adds time-series analysis text for each applicant. The input data is the time-series analysis result text (analysis_result_ay_content) for each applicant, which is added to the Document object. The output data is the Document object with the added text.

[0118] Next, the control unit 104 creates and adds time-series graphs for each problem classification. The input data consists of a list of unique problem classifications (unique_problem_classes) and annual application count data for each problem classification (problem_yearly_counts). The control unit 104 uses this data to create a time-series line graph for each problem classification and adds it to a Document object. The output data is the Document object with the graph image added.

[0119] Next, the control unit 104 adds time-series analysis text for each issue category. The input data is the time-series analysis result text (analysis_result_py_content) for each issue category, which is added to the Document object. The output data is the Document object with the added text.

[0120] Next, the control unit 104 creates and adds time-series graphs for each solution classification. The input data consists of a list of unique solution classifications (unique_solution_classes) and annual patent application count data for each solution classification (solution_yearly_counts). The control unit 104 uses this data to create a time-series line graph for each solution classification and adds it to the Document object. The output data is the Document object with the graph image added.

[0121] Next, the control unit 104 adds time-series analysis text for each solution classification. The input data is time-series analysis result text (analysis_result_sy_content) for each solution classification, which is added to the Document object. The output data is the Document object with the added text.

[0122] Finally, the control unit 104 creates and adds graphs of solution classifications for each problem classification. The input data consists of a list of unique problem classifications (unique_problem_classes) and cross-tabulated data of problem classifications and solution classifications (problem_solution_counts). Using this data, the control unit 104 creates a bar graph of solution classifications for each problem classification and adds it to a Document object. The output data is a Document object with the graph images added.

[0123] The control unit 104 adds analysis text for the classification of solutions for each problem category. The input data is the analysis result text (analysis_result_ps_content) for the classification of solutions for each problem category, which is added to the Document object. The output data is the Document object with the added text.

[0124] In this manner, the control unit 104 generates visualization data from numerical data and outputs the visualization data and analysis text data. In one embodiment, a graph or table is used as the visualization data, and a graph image (PNG, etc.) is generated and embedded in the electronic document as needed. In another embodiment, a horizontal bar graph is used as the visualization data, and a graph image is generated and inserted into the document file.

[0125] The control unit 104 outputs a completed Word document (patent_analysis_report.docx) after all content has been added. In this way, the control unit 104 processes multiple input data in stages, adding appropriate graphs and text to the Document object at each stage, and finally outputs a comprehensive patent analysis report as a Word document (Figure 5: Example of problem analysis. Other analyses are omitted). This makes it possible to summarize the multifaceted analysis results of patent data in a report that is easy to understand both visually and textually.

[0126] As described above, the program of this embodiment provides an effective method for streamlining patent data analysis while delivering high-quality analysis results. First, the embodiment significantly reduces the burden of manual analysis by automating the multidimensional analysis of patent data. It enables the automatic analysis of patent data from multiple perspectives, such as applicant, problem classification, solution classification, and filing year, and efficiently generates and visualizes numerical data using statistical methods.

[0127] Furthermore, a notable effect of this embodiment is the integration of data visualization and language analysis. It not only visualizes numerical data using graphs and other visual aids, but also utilizes a large-scale language model (LLM) to generate natural language explanations of the numerical data. This enables the automatic creation of comprehensive analytical reports combining visual data and written explanations.

[0128] Furthermore, the analysis results obtained through this embodiment achieve high readability and ease of understanding. Visual aids such as graphs and clear explanations in natural language enable the output of systematically organized reports. This allows for efficient identification of data trends and characteristics, supporting decision-making regarding the R&D trends of competitors, strategic patent applications, and the direction of R&D.

[0129] Furthermore, the embodiment possesses high flexibility and extensibility. It can be applied not only to patent data but also to other information sources such as surveys, user reviews, and academic papers, and can accommodate different items and classifications. In addition, it can be implemented in multiple programming languages ​​and tools, and is expected to be used in a variety of environments.

[0130] Thus, this embodiment can be said to have a significant effect in improving the efficiency and quality of patent information analysis work and supporting the formulation of corporate research and development strategies.

[0131] Although embodiments have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. This novel embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. This embodiment and its variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of symbols]

[0132] 101 CPU, 102 ROM, 103 RAM, 104 Control Unit, 105 HDD, 106 External I / F, 107 Input Unit, 108 System Bus

Claims

1. On the computer, The process involves creating numerical text data from numerical data obtained by processing the data to be analyzed using statistical methods, and The process involves inputting a prompt to a language model that includes the digitized text data and an instruction to generate analysis text data of the digitized text data, and then obtaining the analysis text data from the language model. An analysis processing program that executes the necessary steps.

2. The analysis processing program according to claim 1, wherein the prompt includes analysis request text data from the user.

3. The analysis processing program according to claim 1, further comprising the process of generating visualization data from the digitized data and outputting the visualization data together with the analysis text data.

4. The analysis processing program according to claim 1, further comprising the process of creating numerical text data from numerical data obtained by multidimensionally processing the data to be analyzed using statistical methods.

5. The aforementioned data is patent data, according to the analysis processing program described in claim 1.

6. Computers The process involves creating numerical text data from numerical data obtained by processing the data to be analyzed using statistical methods, and The process involves inputting a prompt to a language model that includes the digitized text data and an instruction to generate analysis text data of the digitized text data, and then obtaining the analysis text data from the language model. An analysis processing method that performs this task.