system

The system addresses the inefficiencies of manual sales data collection by automating data acquisition, processing, and reporting, enhancing business efficiency through accurate and timely sales activity insights.

JP2026041249APending Publication Date: 2026-03-10SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

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

Technical Problem

Traditional manual data collection and report preparation in sales activities are time-consuming and prone to errors, hindering efficient management and performance improvements.

Method used

A system that automatically acquires sales activity data, processes it into a data frame format, calculates relevant metrics, and generates reports, enabling efficient and accurate data analysis and reporting.

Benefits of technology

Enables quick and accurate grasp of sales activity results and progress, improving business efficiency by automating data collection, analysis, and report generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026041249000001_ABST
    Figure 2026041249000001_ABST
Patent Text Reader

Abstract

Provide a system. A means for automatically acquiring sales activity data; means for analyzing and aggregating the data obtained; and means for generating a report based on the analysis and aggregation results.
Need to check novelty before this filing date? Find Prior Art

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] In modern sales activities, salespeople and managers need to quickly and accurately grasp results and progress and prepare reports. However, traditional manual data collection and report preparation work is extremely time-consuming and prone to errors. Therefore, in order to improve the work efficiency of salespeople and managers, a system is needed that can automatically collect and analyze sales activity data and efficiently prepare reports. [Means for solving the problem]

[0005] To solve this problem, the present invention provides the following means: A means for automatically acquiring sales activity data is provided, and this means automatically collects data related to sales activities from a database. Next, a means for analyzing and aggregating the acquired data is provided. This means processes the data in a data frame format and calculates the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each sales representative. Finally, a means for generating a report based on the analysis and aggregation results is provided, and this means automatically creates a report based on the analysis results. This provides a system that allows the progress of sales activities to be grasped quickly and accurately, improving business efficiency.

[0006] "Sales activity data" refers to information generated by sales representatives through their interactions with customers, including the progress of projects and the amount of contracts concluded.

[0007] "Automatic acquisition means" refers to the system's ability to collect necessary information from pre-configured databases or data sources without human intervention.

[0008] "Means for analyzing and aggregating data" refers to the function of statistically processing collected data and summarizing it based on specific indicators or categories.

[0009] "Means for generating reports" refers to the ability to create formatted documents based on analyzed and aggregated data.

[0010] A "database" refers to a system that systematically organizes and stores information and data, and allows it to be accessed and managed as needed.

[0011] "Processing in data frame format" refers to a method of manipulating and analyzing data using a tabular data structure consisting of rows and columns.

[0012] "By sales representative" refers to the separate compilation and analysis of data relating to each sales representative.

[0013] "Number of deals" refers to the number of transactions handled by a sales representative within a specific period.

[0014] "Total Sales" refers to the total value of transactions concluded within a specified period.

[0015] "Number of deals closed" refers to the number of deals that actually closed within a specific period.

[0016] "Lost Deals" refers to the number of deals that did not result in a closed deal within a specified period of time.

[0017] "Conversion rate" means the percentage of transactions that are converted to total transactions. [Brief explanation of the drawings]

[0018] [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

[0019] 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.

[0020] First, the terms used in the following description will be explained.

[0021] 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).

[0022] 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.

[0023] 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.

[0024] 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.

[0025] 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."

[0026] [First embodiment]

[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0028] 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.

[0029] 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).

[0030] 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.

[0031] 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.

[0032] 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.

[0033] 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.

[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0035] 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.

[0036] 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.

[0037] 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.

[0038] 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."

[0039] To put this invention into practice, it is first necessary to develop a program with the following system configuration and functions: This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results.

[0040] System Configuration and Functions

[0041] 1. Data Acquisition Phase

[0042] 1.1. Preparing to connect to the database

[0043] The server prepares the connection to the database, which is the step where it establishes the connection using the database connection string and authentication information.

[0044] 1.2. Retrieving Data from the Database

[0045] The server retrieves sales activity data from the database, including the date, sales representative, client, status (prospect, won, lost), and contract amount, providing basic information to understand the specifics of the sales activity.

[0046] 2. Data analysis and aggregation phase

[0047] 2.1. Converting to DataFrame

[0048] The server converts the retrieved data into a Pandas data frame, which makes it easier to manipulate and analyze the data.

[0049] 2.2. Calculation of aggregate metrics

[0050] The server calculates the following metrics for each salesperson based on the data frame:

[0051] Number of deals (total_deals): The number of deals handled by each agent.

[0052] Total Amount: The total amount of deals closed by each rep.

[0053] Successful Deals: The number of successful deals each rep has closed.

[0054] Lost Deals (lost_deals): The number of deals that each rep did not close.

[0055] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[0056] 3. Report preparation phase

[0057] 3.1. Report Initialization

[0058] The server initializes the report template. In this step, the report date and separator lines are set.

[0059] 3.2. Adding data for each person in charge

[0060] The server adds the summary results for each salesperson to the report, including salesperson name, number of deals, number of deals won, number of deals lost, success rate, and total sales.

[0061] 3.3. Report Output

[0062] The server provides the generated report to the user, who can then view or save the report.

[0063] Specific examples

[0064] For example, suppose the following sales activity data is stored in a database:

[0065] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0066] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0067] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0068] The system processes this data and generates a report like this:

[0069] Sales Activity Report (2023-10-06)

[0070] --------------------------

[0071] Salesperson: A

[0072] Count: 2

[0073] Number of deals: 0

[0074] Number of orders lost: 1

[0075] Conversion rate: 0.00%

[0076] Total sales: 100,000 yen

[0077] --------------------------

[0078] Salesperson: B

[0079] Count: 1

[0080] Number of deals: 1

[0081] Number of orders lost: 0

[0082] Closing rate: 100.00%

[0083] Total sales: \250,000

[0084] --------------------------

[0085] This report provides useful information that allows users to easily understand the results and progress of sales activities.

[0086] The processing flow will be explained below.

[0087] Step 1:

[0088] The server establishes a connection to the database, using the database connection string and authentication information. Once the connection is established, the server can access the database.

[0089] Step 2:

[0090] The server retrieves sales activity data from the database. Specifically, it runs SQL queries to extract the required data, including sales representative, date, client, status (prospect, won, lost), and deal amount.

[0091] Step 3:

[0092] The server converts the retrieved data into a data frame using the Pandas library, which makes it easier to manipulate and analyze. A data frame consists of rows and columns, with each column representing an attribute (e.g., salesperson, date, client, etc.).

[0093] Step 4:

[0094] The server groups the data frame by sales representative, which brings together the data for each sales representative, ready to be analyzed and aggregated individually.

[0095] Step 5:

[0096] The server calculates the following metrics for each sales representative based on the grouped data:

[0097] Number of deals (total_deals): Counts the number of deals handled by each person.

[0098] Total Amount: Calculates the total amount of deals closed by each rep.

[0099] Successful_deals: Counts the number of successful deals each rep has closed.

[0100] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[0101] Success rate: Divide the number of successful deals by the total number of cases and express the result as a percentage.

[0102] Step 6:

[0103] The server initializes the report using the aggregated results, specifically by setting the report date and dividing lines, and preparing to add data for each person in charge.

[0104] Step 7:

[0105] The server adds the summary results for each sales representative to a report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, and total sales. The report is formatted for easy viewing.

[0106] Step 8:

[0107] The server outputs the generated report, either by displaying it or saving it to a file for the user, which is the step where the user has access to the final report.

[0108] Example 1

[0109] 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."

[0110] Collecting, analyzing, compiling, and reporting data in sales activities requires a lot of time and effort, and the process is prone to errors and inconsistencies. If this problem is not resolved, it will be difficult to improve sales activities efficiently, and it will become a factor that hinders improvements in performance.

[0111] 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.

[0112] In this invention, the server includes means for automatically acquiring sales activity data, means for converting the acquired data into a data frame format, means for calculating the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame, means for generating a report based on the analysis and aggregation results, and means for saving or displaying the generated report, thereby enabling efficient automatic collection, analysis, and reporting of sales activity data.

[0113] "Sales Activity Data" means information related to sales representatives' transactions and customer interactions, including, specifically, dates, sales representatives, clients, status (prospect, won, lost), and closing amounts.

[0114] "Automatic acquisition means" refers to the ability of a system to acquire sales activity data from a database through a program without human intervention.

[0115] A "data frame format" is a two-dimensional data structure structured by rows and columns, which makes it easy to manipulate and analyze data.

[0116] "Means for converting to data frame format" refers to a program or function for converting acquired data into a data frame format, which makes it easier to manipulate and analyze the data.

[0117] "Number of deals" refers to the total number of deals handled by a particular sales representative.

[0118] "Total sales" refers to the total monetary value of deals closed by a particular salesperson.

[0119] "Closed deals" refers to the number of deals that a sales representative successfully closed.

[0120] "Losses" refers to the number of deals that a salesperson did not close.

[0121] The "conversion rate" is the number of successful sales divided by the total number of cases, and is an indicator of the efficiency of sales activities, generally expressed as a percentage.

[0122] "Means for generating reports" refers to a program or function that automatically creates reports based on the analysis and compilation results.

[0123] "Means for saving or displaying" refers to a program or function for saving the generated report as a file or displaying it to a user.

[0124] To implement this invention, it is first necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. The specific processing content of the program is explained below.

[0125] System Configuration and Functions

[0126] 1. Data Acquisition Phase

[0127] 1.1. Preparing to connect to the database

[0128] The server prepares a connection to the database to obtain sales activity data. For example, it uses a connection string and authentication information to connect to the database. Specifically, it sets the database URL, port number, database name, user name, and password. This makes the database accessible.

[0129] 1.2. Retrieving Data from the Database

[0130] The server executes an SQL query to retrieve sales activity data from the database, including date, sales representative, client, status (prospect, won, lost), and deal amount. The server stores the query results in temporary storage.

[0131] 2. Data analysis and aggregation phase

[0132] 2.1. Converting to DataFrame

[0133] The server converts the acquired data into a data frame using the Pandas library. For example, you can convert data into a data frame by executing code such as "pandas.DataFrame(data)". Converting data into a data frame makes it easy to manipulate data based on rows and columns.

[0134] 2.2. Calculation of aggregate metrics

[0135] The server calculates the following metrics for each sales representative based on the data frame. Specifically, it uses "groupby" to group the data by representative and calculates each metric using the "agg" function. For example, it calculates the following metrics:

[0136] Number of deals (total_deals)

[0137] Total sales amount (total_amount)

[0138] Number of successful deals (succesful_deals)

[0139] Number of lost deals (lost_deals)

[0140] success_rate

[0141] 3. Report preparation phase

[0142] 3.1. Report Initialization

[0143] The server initializes the report template. First, it gets the current date and writes it in the header of the report. For example, it initializes it as "report = 'Sales Activity Report(' + Today's Date + ')\n--------------------------\n'".

[0144] 3.2. Adding data for each person in charge

[0145] The server adds the results of each person's calculation to the report. Specifically,

[0146] Update the report content for each salesperson like this: "for salesperson in salesperson list: report += 'salesperson: ' + salesperson + '\n number: ' + total_deals[salesperson] + '\n number of deals: ' + succesful_deals[salesperson] + '\n number of lost deals: ' + lost_deals[salesperson] + '\n success rate: ' + success_rate[salesperson] + '%\n total sales amount: \' + total_amount[salesperson] + '\n--------------------------\n'"

[0147] 3.3. Report Output

[0148] The server saves the generated report as a file or displays it to the user. For example, it can be saved as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)". In the case of a web application, the report content can be embedded in an HTML template and displayed on the user's device.

[0149] Specific examples

[0150] For example, suppose the following sales activity data is stored in a database:

[0151] Date: 2023-10-01, Salesperson: Person A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0152] Date: 2023-10-02, Salesperson: Person B, Client: Company Y, Status: Order, Contract Amount: 250,000 yen

[0153] Date: 2023-10-03, Salesperson: Person A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0154] The system processes this data and generates a report like this:

[0155] Sales Activity Report (2023-10-06)

[0156] --------------------------

[0157] Salesperson: Salesperson A

[0158] Count: 2

[0159] Number of deals: 0

[0160] Number of orders lost: 1

[0161] Conversion rate: 0.00%

[0162] Total sales: 100,000 yen

[0163] --------------------------

[0164] Salesperson: Salesperson B

[0165] Count: 1

[0166] Number of deals: 1

[0167] Number of orders lost: 0

[0168] Closing rate: 100.00%

[0169] Total sales: \250,000

[0170] --------------------------

[0171] Such reports allow the user to easily understand the performance of each sales representative.

[0172] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0173] Step 1:

[0174] Preparing to connect to the database

[0175] The server prepares a connection to the database to retrieve sales activity data. Specifically, it sets the connection string and authentication information. This step has the following inputs and outputs:

[0176] Input: Database URL, port number, database name, username, password.

[0177] Output: A connection object to the database.

[0178] The server uses this information to prepare the database for access.

[0179] Step 2:

[0180] Retrieving data from a database

[0181] The server executes an SQL query to retrieve sales activity data from the database. This step has the following inputs and outputs:

[0182] Input: SQL query "SELECT FROM sales_activities WHERE date >= '2023-10-01'".

[0183] Output: Captured sales activity data (e.g. date, salesperson, client, status, deal amount).

[0184] The server executes the query, retrieves the required data from the database, and stores it in a temporary storage area.

[0185] Step 3:

[0186] Converting to a DataFrame

[0187] The server converts the acquired data into a data frame using the Pandas library. This step has the following inputs and outputs:

[0188] Input: Captured sales activity data.

[0189] Output: Data in dataframe format.

[0190] The server runs code like "pandas.DataFrame(data)" to convert the acquired data into a data frame.

[0191] Step 4:

[0192] Calculating aggregate metrics

[0193] The server calculates the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame. This step has the following inputs and outputs:

[0194] Input: Sales activity data in data frame format.

[0195] Output: Aggregate metrics for each salesperson (number of opportunities, total sales, number of successful deals, number of lost deals, success rate).

[0196] Specifically, we use "groupby" to group the data by person in charge and then use the "agg" function to calculate each metric.

[0197] Step 5:

[0198] Initializing the report

[0199] The server initializes the report template. This step has the following inputs and outputs:

[0200] Input: Current date.

[0201] Output: Initial report template.

[0202] Specifically, the header part of the report is initialized as follows: "report = 'Sales Activity Report (' + today's date + ')\n--------------------------\n'".

[0203] Step 6:

[0204] Add data for each person in charge

[0205] The server adds the summary results for each person to the report. This step has the following inputs and outputs:

[0206] Input: Aggregate metrics for each sales representative (number of cases, total sales, number of successful deals, number of lost deals, success rate).

[0207] Output: A report with data for each person added.

[0208] Specifically, the report contents are updated as follows: "for rep in sales rep list: report += 'sales rep: ' + rep + '\n number: ' + total_deals[rep] + '\n number of deals: ' + succesful_deals[rep] + '\n number of lost deals: ' + lost_deals[rep] + '\n success rate: ' + success_rate[rep] + '%\n total sales amount: \' + total_amount[rep] + '\n--------------------------\n'".

[0209] Step 7:

[0210] Report output

[0211] The server saves the generated report or displays it to the user. This step has the following inputs and outputs:

[0212] Input: Completed report.

[0213] Output: A saved report file or a displayed report on the user's terminal.

[0214] Specifically, you can save it as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)", or in the case of a web app, you can embed it in an HTML template and display it.

[0215] (Application example 1)

[0216] 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."

[0217] In modern factories, managing production line efficiency and maintenance activities is becoming increasingly complex. Furthermore, manually conducting real-time monitoring and detailed data analysis for each worker takes time and effort. This makes it difficult to timely schedule maintenance, reduce production efficiency, and detect defects early. To solve this problem, automated data acquisition and analysis, along with automated report generation, is required, rather than relying on traditional methods.

[0218] 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.

[0219] In this invention, the server includes means for automatically acquiring work activity data, means for analyzing and aggregating the acquired data, means for generating reports based on the analysis and aggregation results, means for displaying data in real time, and means for saving and exporting the reports. This enables detailed management of the efficiency and maintenance activities of each production line in a factory, and automation of data analysis for each person in charge, enabling real-time monitoring and rapid report generation.

[0220] "Work activities" refers to all work and operations that take place on a production line.

[0221] "Means for automatically acquiring data" refers to a system for collecting work activity data in real time through sensors and IoT devices.

[0222] "Means for analyzing and aggregating data" refers to a system for analyzing and aggregating collected data using Pandas or a similar data processing library.

[0223] "Means for generating reports" refers to a system for creating reports based on the analysis and aggregation results in a format that can be viewed and shared by users.

[0224] "Means for displaying data in real time" refers to a system for immediately displaying acquired data and analysis results on a user interface or display.

[0225] "Means for saving and exporting reports" refers to a system for saving generated reports as files and transferring / sharing them to other systems or devices as needed.

[0226] The term "data frame format" refers to a two-dimensional, labeled data structure consisting of rows and columns, which is useful for data analysis and manipulation.

[0227] To implement this invention, it is necessary to develop the following specific system configuration and program: This system automatically acquires data on work activities within a factory, analyzes and aggregates it, and generates a report based on the results.

[0228] System configuration and hardware / software used

[0229] 1. Data Acquisition Phase:

[0230] Hardware:

[0231] Smart glasses (with AR function)

[0232] Sensors and IoT Devices

[0233] software:

[0234] Database (SQLite)

[0235] Python

[0236] 2. Data analysis and aggregation phase:

[0237] software:

[0238] Pandas (Python library)

[0239] 3. Reporting Phase:

[0240] software:

[0241] Python (report generation)

[0242] Text export function

[0243] Natural language description of the process

[0244] The server first acquires real-time data on work activities using smart glasses and sensors. The data includes the worker, type of work (e.g., maintenance, regular work), work status (e.g., completed, failed), and time information. The acquired data is then stored in an SQLite database.

[0245] The server then uses Python to retrieve the data from the SQLite database and converts it into a data frame using the Pandas library, making it easy to analyze and aggregate the work done by each worker in detail.

[0246] To get specific metrics, we calculate the following data for each rep:

[0247] Number of tasks (total_tasks): The number of tasks performed by each user.

[0248] Maintenance Count (maintenance_count): The number of maintenance tasks.

[0249] Failure count (failure_count): The number of failed operations.

[0250] Success Rate (success_rate): The percentage of successful operations divided by the total number of operations.

[0251] Based on these aggregated results, the server generates a report detailing the number of tasks, maintenance tasks, failures, and success rates for each technician. The report is displayed in real time on the smart glasses' display and can also be saved and exported as a file.

[0252] Specific examples

[0253] For example, suppose the following data is retrieved:

[0254] Date: 2023-10-01, Person in Charge: X, Work Type: Maintenance, Status: Completed

[0255] Date: 2023-10-02, Person in Charge: Y, Work Type: Regular Work, Status: Failed

[0256] Date: 2023-10-03, Person in Charge: X, Work Type: Regular Work, Status: Completed

[0257] The system processes this data and generates a report like this:

[0258] Factory activity report (2023-10-06)

[0259] --------------------------

[0260] Contact: X

[0261] Number of tasks: 2

[0262] Number of maintenance: 1

[0263] Number of failures: 0

[0264] Success rate: 100.00%

[0265] --------------------------

[0266] Person in charge: Y

[0267] Number of tasks: 1

[0268] Maintenance count: 0

[0269] Number of failures: 1

[0270] Success rate: 0.00%

[0271] --------------------------

[0272] Prompt Sentence Examples

[0273] Using the factory activity report generation program, please run the code that processes the data on the number of tasks, maintenance tasks, failures, and success rates for each production line employee on "2023-10-01."

[0274] Input example: Factory data for 2023-10-01

[0275] Output example: Factory activity report for each person in charge

[0276] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0277] Step 1:

[0278] Data Acquisition

[0279] The server uses smart glasses and sensors to acquire work activity data in real time. This data includes the worker, type of work (maintenance, regular work, etc.), work status (completed, failed, etc.), and time information. The acquired data is stored in an SQLite database. Specifically, the server reads signals from the sensors and writes them to the database.

[0280] Input: Real-time data from smart glasses and sensors

[0281] Output: Work activity data stored in a SQLite database

[0282] Step 2:

[0283] Data loading

[0284] The server uses a Python program to run queries to read activity data from an SQLite database, using Python's sqlite3 library to establish a database connection and retrieve the required data.

[0285] Input: SQLite database

[0286] Output: Work activity data converted to a Pandas dataframe

[0287] Step 3:

[0288] Data Conversion

[0289] The server uses the Pandas library to convert the data into a data frame, which makes it easier to manipulate and analyze. Specific operations include converting SQL result sets into Pandas data frames.

[0290] Input: Data retrieved from a SQLite database

[0291] Output: Work activity data in Pandas dataframe format

[0292] Step 4:

[0293] Data analysis and aggregation

[0294] The server calculates the following metrics for each worker based on the data frame:

[0295] Number of tasks (total_tasks): The number of tasks performed by each user

[0296] Maintenance Count (maintenance_count): Number of maintenance operations

[0297] Failure count (failure_count): The number of failed operations

[0298] Success Rate (success_rate): The number of successful operations divided by the total number of operations (as a percentage)

[0299] Specifically, this includes aggregating data frames using Pandas' groupby and agg methods.

[0300] Input: Work activity data in a data frame format

[0301] Output: Aggregated data for each person in charge

[0302] Step 5:

[0303] report generation

[0304] The server generates a report based on the aggregated results. The report includes the number of tasks, maintenance tasks, failures, and success rates for each person in charge. It uses Python string manipulation to generate a report in a format that meets the user's needs.

[0305] Input: Aggregation result data for each person

[0306] Output: Text of the generated report

[0307] Step 6:

[0308] View and save reports

[0309] The server displays the generated report and saves it as a file. This includes displaying the report in real time on the smart glasses display and saving the report as a text file using Python file operations.

[0310] Input: Generated report text

[0311] Output: Report displayed on smart glasses display, saved text file

[0312] 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.

[0313] To implement this invention, it is necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. It also incorporates an emotion engine that recognizes user emotions, and collects and analyzes emotion data.

[0314] System Configuration and Functions

[0315] 1. Data Acquisition Phase

[0316] 1.1. Preparing to connect to the database

[0317] The server establishes a connection to the database, using the connection string and authentication information to establish a secure connection.

[0318] 1.2. Retrieving Data from the Database

[0319] The server retrieves sales activity data from the database, including the date, salesperson, client, status (prospect, won, lost), and deal amount.

[0320] 1.3. Acquiring Emotion Data

[0321] The device collects the user's emotional data, including the user's tone of voice, facial expressions, and input text, and this data is analyzed by the emotion engine.

[0322] 2. Data analysis and aggregation phase

[0323] 2.1. Converting to DataFrame

[0324] The server converts the acquired sales data into a data frame using the Pandas library, which makes it easier to manipulate and analyze the data.

[0325] 2.2. Calculation of aggregate metrics

[0326] The server calculates the following metrics for each salesperson based on the data frame:

[0327] Number of deals (total_deals): The number of deals handled by each agent.

[0328] Total Amount: The total amount of deals closed by each rep.

[0329] Successful Deals: The number of successful deals each rep has closed.

[0330] Lost Deals (lost_deals): The number of deals that each rep did not close.

[0331] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[0332] 2.3. Analysis of Emotion Data

[0333] The emotion engine analyzes the collected emotion data and evaluates the user's emotional state based on it, which is then added to the analysis of sales activities.

[0334] 3. Report preparation phase

[0335] 3.1. Report Initialization

[0336] The server initializes the report template, setting the dates and dividing lines, and preparing to add data for each person.

[0337] 3.2. Adding data for each person in charge

[0338] The server adds the summary results for each sales representative to the report, including the representative's name, number of opportunities, number of successful and unsuccessful sales, success rate, and total sales.

[0339] 3.3. Reflecting Emotional Data

[0340] The server then reflects the user's emotional data in a report, allowing users to visually understand how their emotional state is affecting their sales activities.

[0341] 3.4. Report Output

[0342] The server provides the generated report to the user, who can then view it or save it as a file for review.

[0343] Specific examples

[0344] For example, suppose the following sales activity data is stored in a database:

[0345] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0346] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0347] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0348] Also, suppose the following sentiment data is collected:

[0349] Date: 2023-10-01, User: A, Sentiment: Positive

[0350] Date: 2023-10-02, User: B, Sentiment: Neutral

[0351] Date: 2023-10-03, User: A, Sentiment: Negative

[0352] The system processes this data and generates a report like this:

[0353] Sales Activity Report (2023-10-06)

[0354] --------------------------

[0355] Salesperson: A

[0356] Count: 2

[0357] Number of deals: 0

[0358] Number of orders lost: 1

[0359] Conversion rate: 0.00%

[0360] Total sales: 100,000 yen

[0361] Emotional state: positive, negative

[0362] --------------------------

[0363] Salesperson: B

[0364] Count: 1

[0365] Number of deals: 1

[0366] Number of orders lost: 0

[0367] Closing rate: 100.00%

[0368] Total sales: \250,000

[0369] Emotional State: Neutral

[0370] --------------------------

[0371] This report provides useful information for users to easily understand the results and progress of sales activities, as well as their emotional state.

[0372] The processing flow will be explained below.

[0373] Step 1:

[0374] The server establishes a connection to the database, using a connection string and authentication information to establish a secure connection and make the database accessible.

[0375] Step 2:

[0376] The server retrieves sales activity data from the database by using an SQL query to extract the required fields from the database (e.g., date, salesperson, client, status, and deal amount).

[0377] Step 3:

[0378] The device collects the user's emotional data, including by using a microphone and camera to capture voice tone and facial expressions in real time, and by analyzing emotions from input text. This data is sent to the emotion engine.

[0379] Step 4:

[0380] The server converts the acquired sales data into a Pandas data frame format, which makes it easier to manipulate the data and perform various analyses.

[0381] Step 5:

[0382] The server groups the data frame by sales representative. In this step, we use the "groupby" function of the data frame to group the data for each sales representative into a separate group.

[0383] Step 6:

[0384] The server calculates the following metrics for each sales representative based on the grouped data:

[0385] Number of deals (total_deals): Counts the number of deals handled by each person.

[0386] Total Amount: Calculates the total amount of deals closed by each salesperson.

[0387] Successful_deals: Counts the number of successful deals each rep has closed.

[0388] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[0389] Success Rate: Divide the number of successful deals by the total number of opportunities and convert the result into a percentage.

[0390] Step 7:

[0391] The emotion engine analyzes the collected emotion data and assesses the user's emotional state using machine learning models and natural language processing techniques to identify positive, negative, or neutral emotional states.

[0392] Step 8:

[0393] The server integrates the aggregated sales data with the analysis results of the emotion engine, allowing the system to understand not only the performance of each sales representative but also their emotional state at that time.

[0394] Step 9:

[0395] The server initializes a report template, which contains basic elements such as dates, separators, and headings.

[0396] Step 10:

[0397] The server adds the results of each sales representative's analysis to the report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, total sales amount, and emotional state.

[0398] Step 11:

[0399] The server provides the generated report to the user. The report is displayed in a format that the user can view, and can also be saved as a file if necessary. The user can use this report to comprehensively analyze the performance and emotional state of their sales activities.

[0400] Example 2

[0401] 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."

[0402] Conventional sales activity management systems have problems in that they are insufficiently automated in the acquisition and analysis of sales activity data, and can only generate reports based on simple numerical data without taking the user's emotional state into account. This makes it difficult to grasp the overall picture of sales activity results and progress, and makes it impossible to evaluate the impact of sales representatives' motivation and emotional state on sales results. This invention aims to solve these problems by centrally managing and analyzing sales activity data and user emotional data, and generating more comprehensive and detailed reports.

[0403] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0404] In this invention, the server includes means for automatically acquiring sales activity data, means for collecting and analyzing the user's emotional state, and means for analyzing and aggregating the acquired sales activity data and emotional data. This makes it possible to comprehensively grasp the results and progress of sales activities and the user's emotional state, and to evaluate the impact that changes in the motivation and emotions of specific sales representatives have on sales results.

[0405] "Sales activity data" refers to information about various sales activities conducted by sales representatives, specifically including the date, sales representative name, client name, status (prospect, won, lost), and contract amount.

[0406] "Emotional state" is information that indicates the user's mental and emotional state, specifically, emotional states such as positive, negative, neutral, etc. that are analyzed from voice tone, facial expressions, input text, etc.

[0407] A "report" is a document created based on the acquired and analyzed data, and includes information regarding the number of opportunities, total sales, number of successful deals, number of lost deals, success rate, and emotional state for each sales representative.

[0408] A "database" is a system for efficiently and effectively storing and managing large amounts of data, and is built using technologies such as SQL and NoSQL.

[0409] A "data frame" is a two-dimensional data structure consisting of rows and columns for manipulating and analyzing data, and is a format used in libraries such as Pandas.

[0410] "Aggregate metrics" are statistical information calculated based on a specific data set, such as the number of deals, total sales, number of successful deals, number of lost deals, and success rate.

[0411] A "template" is a format and format definition used to create a report, and is a structure for automatically arranging data.

[0412] "User" refers to the entity that uses the system to manage and analyze sales activity data and generate reports.

[0413] The present invention is a system that manages sales activity data and the emotional state of users in an integrated manner, analyzes and aggregates the data, and generates detailed reports based on the results. The following describes an embodiment of the present invention.

[0414] The system consists of a server, terminals, and users. To name specific hardware and software components, the server uses MySQL (registered trademark) or PostgreSQL as a database management system (DBMS), the Pandas library for data analysis, and Librosa or TENSORFLOW (registered trademark) for sentiment analysis. Meanwhile, terminals use computers or smartphones equipped with microphones and cameras to collect voice and facial expressions, and users include sales representatives and system administrators.

[0415] Data Acquisition Phase

[0416] The server first establishes a connection to the database. After a secure connection is established using a connection string and authentication information, it executes an SQL query to retrieve data about sales activity. For example, a query like "SELECT FROM sales_data WHERE date BETWEEN® '2023-10-01' AND '2023-10-07'" is used. This data includes the date, sales representative, client, status (prospect, won, lost), and deal amount.

[0417] The device collects the user's emotional data. Specifically, it uses a microphone and camera to capture the user's voice tone and facial expressions, and analyzes them using natural language processing and facial recognition algorithms. During this process, it extracts voice features using the Librosa library and classifies emotions using TensorFlow or PyTorch. This allows the user's emotional state to be evaluated as positive, negative, neutral, etc.

[0418] Data analysis and aggregation phase

[0419] The server converts the acquired sales data into a data frame format using the Pandas library. For example, it executes the code "pandas.DataFrame(data)" to convert list or dictionary type data into a data frame. Next, it calculates aggregate indicators based on the data frame. Specifically, it uses the method "dataframe.groupby('Rep')" to calculate the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each representative. These results are stored in a new data frame to make them easier to handle visually.

[0420] Reporting phase

[0421] The server initializes the report template. It reads the template file and automatically inserts the date and separator lines. For this purpose, a Python report generation library (such as ReportLab or Jinja2) is used. Next, the aggregated data and emotion data are inserted into the appropriate positions in the template, and a report is generated. For example, information such as "User A's emotional state: positive, negative" is added to the template.

[0422] Finally, the server provides the generated report to the user, saving it in PDF or HTML format and integrating with web frameworks such as Flask or Django to allow the user to download and view it.

[0423] Specific examples

[0424] For example, suppose the following sales activity data is stored in a database:

[0425] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0426] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0427] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0428] Also, suppose the following sentiment data is collected:

[0429] Date: 2023-10-01, User: A, Sentiment: Positive

[0430] Date: 2023-10-02, User: B, Sentiment: Neutral

[0431] Date: 2023-10-03, User: A, Sentiment: Negative

[0432] The system processes this data and generates a report like this:

[0433] Sales Activity Report (2023-10-06)

[0434] --------------------------

[0435] Salesperson: A

[0436] Count: 2

[0437] Number of deals: 0

[0438] Number of orders lost: 1

[0439] Conversion rate: 0.00%

[0440] Total sales: 100,000 yen

[0441] Emotional state: positive, negative

[0442] --------------------------

[0443] Salesperson: B

[0444] Count: 1

[0445] Number of deals: 1

[0446] Number of orders lost: 0

[0447] Closing rate: 100.00%

[0448] Total sales: \250,000

[0449] Emotional State: Neutral

[0450] --------------------------

[0451] This report provides useful information for users to get a comprehensive understanding of sales performance, progress, and emotional state.

[0452] Prompt Sentence Examples

[0453] An example of a prompt to input to a generative AI model is:

[0454] "Generate a report summarizing sales activity data. Include the number of opportunities, wins, losses, win rates, total sales, and emotional state for each sales rep."

[0455] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0456] Step 1: Establishing a Database Connection

[0457] The server reads the database connection information from a configuration file and environment variables, specifically the database URL, username, and password from an external file, and constructs a connection string.

[0458] Input: Connection information from a configuration file or environment variables (e.g. URL, username, password)

[0459] Process: Establish a database connection using SQLAlchemy or JDBC libraries.

[0460] Output: A database connection object if successful, or an error message if unsuccessful.

[0461] Step 2: Capture sales activity data

[0462] The server uses the established database connection to issue an SQL query to retrieve sales activity data. For example, it executes the query "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'".

[0463] Input: Database connection object, SQL query

[0464] Processing: Execute the query and store the retrieved data in a data structure internal to the program (e.g., a list or dictionary).

[0465] Output: Acquired sales activity data.

[0466] Step 3: Obtaining emotion data

[0467] The device collects the user's emotional data by capturing the user's voice tone and facial expressions using the device's microphone and camera, extracting voice features using the Librosa library, and classifying emotions using TensorFlow.

[0468] Input: Audio data, video data

[0469] Processing: Extract features from audio data using Librosa, classify emotions using a TensorFlow model, and analyze facial expression data using OpenCV.

[0470] Output: The user's emotional state (positive, negative, neutral, etc.).

[0471] Step 4: Converting to a DataFrame

[0472] The server converts the acquired sales activity data into a data frame format using the Pandas library.

[0473] Input: Acquired sales activity data (list or dictionary format)

[0474] Processing: Convert the data into a data frame using the pandas.DataFrame constructor.

[0475] Output: Sales activity data in a Pandas dataframe.

[0476] Step 5: Calculate aggregate metrics

[0477] The server calculates aggregated indicators for each salesperson based on the data frame. The processing uses "dataframe.groupby('salesperson')" to calculate the number of cases, total sales, number of successful sales, number of lost sales, and success rate.

[0478] Input: Sales activity data in data frame format

[0479] Processing: Calculate using groupby and aggregation methods (e.g. sum, count, mean).

[0480] Output: Aggregated metrics dataframe.

[0481] Step 6: Analyze and integrate sentiment data

[0482] The server analyzes the collected emotion data and integrates it with sales activity data. The emotion data is aggregated for each sales representative and merged with the sales data.

[0483] Input: Aggregate metrics data frame, sentiment data

[0484] Processing: Use Pandas' merge method to combine the sentiment data and aggregated data.

[0485] Output: The final data frame with the emotion data integrated.

[0486] Step 7: Initialize the report

[0487] The server initializes a report template, which includes the date, headers, and separators.

[0488] Input: Date, Template File

[0489] Processing: Loads the template and sets basic information (e.g. date, title field) on it.

[0490] Output: The initialized report template.

[0491] Step 8: Add data for each contact

[0492] The server adds the aggregated sales activity and sentiment data to the report, inserting these values ​​into a section for each rep in the template.

[0493] Input: Final data frame, report template

[0494] Processing: Loop through each row of the data frame and insert the data for each assignee into the template.

[0495] Output: Report template with data for each person added.

[0496] Step 9: Reflecting Emotional Data

[0497] The server reflects the user's emotional data in the report. Specifically, it inserts the emotional data into the data section for each person in charge.

[0498] Input: Emotion data, report template

[0499] Processing: Insert the emotion data into the appropriate position in the template.

[0500] Output: A report template reflecting the sentiment data.

[0501] Step 10: Output the report

[0502] The server provides the generated report to the user and saves it in PDF or HTML format for the user to download and view.

[0503] Input: Completed report template

[0504] Processing: Render the report in PDF or HTML format, save it as a file, and optionally serve it to the user through a web framework.

[0505] Output: User viewable and downloadable report file.

[0506] (Application example 2)

[0507] 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."

[0508] In security services, to improve the efficiency and safety of staff patrol activities, it is necessary to collect and analyze activity data and emotional data in real time, allowing managers to understand the state of staff. However, conventional systems have difficulty in analyzing staff emotional states in a way that fully reflects them, which has led to issues in managing the working environment and motivation.

[0509] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically acquiring sales activity and behavior data, means for analyzing and aggregating the acquired sales activity and behavior data, means for generating a report based on the analysis and aggregation results, means for analyzing the acquired emotion data and adding the analysis results to the analysis of the sales activity and behavior data, and means for the emotion data to include the emotional state of the target person. This makes it possible to analyze the patrol activities and emotional states of security staff in real time, allowing managers to take prompt action.

[0510] "Sales activity data" is information related to the specific sales process carried out by the sales department, and includes the number of cases, sales amount, number of successful deals, number of lost deals, and the like.

[0511] "Behavior data" is recorded data of a series of actions and activities performed by a subject, and includes patrol routes, checkpoints, interactions, etc.

[0512] "Emotional data" refers to data that indicates a subject's emotional state and is analyzed based on vocal tone, facial expressions, user input, and the like.

[0513] "Means for acquiring" refers to the technical means for collecting data from external sources, including sensors, database connection modules, API interfaces, etc.

[0514] "Means of analysis and aggregation" refers to the technical means of analyzing collected data using statistical methods and algorithms and compiling them into specific indicators.

[0515] "Means for generating reports" means the technical means for organizing and displaying information visually in text and / or graph format based on the analyzed and aggregated data.

[0516] The "means for adding the analysis results to the analysis of sales activity and behavior data" refers to a technical means for integrating the analysis results of emotion data with other activity data and compiling them into a series of analysis results.

[0517] "Targeted Persons" are people monitored and managed by the system, including security staff and sales personnel.

[0518] The system for implementing this invention collects and analyzes the patrol activities and emotional states of security service staff in real time, and generates reports. The hardware and software required to configure this system, as well as specific processing procedures, are described below.

[0519] The main components of the system are the server, the terminals, and the users, each of which plays a specific role.

[0520] Hardware and software used

[0521] Hardware

[0522] Smart glasses: Worn by staff, they collect audio and video in real time.

[0523] Database server: stores collected data.

[0524] Server: Acquires, analyzes, aggregates, and generates reports on data.

[0525] software

[0526] Pandas: A Python library for processing data in dataframe format.

[0527] Emotion recognition libraries (e.g. emotion_recognition): Libraries for parsing emotion data.

[0528] Report Generation Module: A module that generates reports based on the collected data.

[0529] Processing Details

[0530] 1. Data Acquisition Phase

[0531] The server first obtains real-time emotional and behavioral data from the devices (smart glasses), including staff patrol routes, checkpoints, and interactions, and also obtains static sales activity data from the database server.

[0532] 2. Data analysis and aggregation phase

[0533] The server converts the collected data into a data frame using the Pandas library, then calculates metrics such as patrol coverage and number of interactions for each security staff member, and analyzes the emotion data using an emotion recognition library. The analysis results are then integrated with behavioral data to produce a comprehensive analysis.

[0534] 3. Report preparation phase

[0535] The server then initializes a report template and generates a report by combining the aggregated data and emotion data, which can then be viewed by managers in real time, forming a feedback loop.

[0536] Specific examples

[0537] For example, suppose data on security staff member A is collected as follows:

[0538] Patrol route A, 10 checkpoints, 3 interactions.

[0539] The emotional data shows a positive rate of 70% and a negative rate of 20% (on average).

[0540] Based on this data, the system can perform an analysis using the following prompt:

[0541] Design an application that uses sales activity data and sentiment data to understand security staff patrol coverage and sentiment in real time, generating reports to help prevent problems before they occur.

[0542] This allows managers to quickly implement measures to effectively manage and refresh security staff, and is extremely effective in improving the efficiency of security services and the safety of staff.

[0543] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0544] Step 1:

[0545] In the data acquisition phase, the terminal (smart glasses) acquires data on the security staff's patrol routes, checkpoints, and interactions. It also captures audio and video in real time and collects emotional data. This collected data is sent to a database server via wireless communication. The input is the staff's movements and emotional state, and the output is the patrol routes, checkpoints, interactions, audio, and facial expression data. This allows the necessary data to be collected in real time.

[0546] Step 2:

[0547] The server obtains patrol route, checkpoint, and interaction data from the database server. It also collects emotion data from the devices (smart glasses) and stores it in the database. The input is movement data obtained from the database and emotion data obtained from the devices, and the output is movement data and emotion data in Pandas data frame format. This converts the collected data into a unified format.

[0548] Step 3:

[0549] The server uses the Pandas library to convert the collected behavioral data into a data frame format and calculates metrics such as patrol coverage, number of checkpoints, and number of interactions for each security staff member. The input is behavioral data in a unified format, and the output is aggregated metrics for each security staff member. This quantifies the performance of each staff member.

[0550] Step 4:

[0551] The server uses an emotion recognition library to analyze the emotional data collected from the devices and determine their emotional state (positive, negative, neutral, etc.). The input is the emotional data obtained from the devices, and the output is the emotional state as a result of the analysis. This allows a clear evaluation of the emotional state of the staff.

[0552] Step 5:

[0553] The server integrates the analyzed emotion data with the analysis results of the movement data to create a comprehensive analysis result. The input is the analysis results of the movement data and the emotion data, and the output is the integrated analysis result. This makes it possible to evaluate from both the movement and emotion perspectives.

[0554] Step 6:

[0555] The server initializes daily, weekly, and monthly report templates based on the integrated analysis results, and generates reports by combining the aggregated data and sentiment data. The input is the integrated analysis results, and the output is a formatted report. This provides information in a format that is easily understandable for administrators.

[0556] Step 7:

[0557] The server notifies the manager of the generated report in real time, forming a feedback loop. The manager can understand the status of the staff based on the report and take necessary measures promptly. The input is a formatted report, and the output is a notification to the manager. This allows for effective management of staff and early response.

[0558] 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.

[0559] 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.

[0560] 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.

[0561] [Second embodiment]

[0562] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0563] 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.

[0564] 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).

[0565] 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.

[0566] 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.

[0567] 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).

[0568] 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.

[0569] 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.

[0570] 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.

[0571] 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.

[0572] 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.

[0573] 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."

[0574] To put this invention into practice, it is first necessary to develop a program with the following system configuration and functions: This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results.

[0575] System Configuration and Functions

[0576] 1. Data Acquisition Phase

[0577] 1.1. Preparing to connect to the database

[0578] The server prepares the connection to the database, which is the step where it establishes the connection using the database connection string and authentication information.

[0579] 1.2. Retrieving Data from the Database

[0580] The server retrieves sales activity data from the database, including the date, sales representative, client, status (prospect, won, lost), and contract amount, providing basic information to understand the specifics of the sales activity.

[0581] 2. Data analysis and aggregation phase

[0582] 2.1. Converting to DataFrame

[0583] The server converts the retrieved data into a Pandas data frame, which makes it easier to manipulate and analyze the data.

[0584] 2.2. Calculation of aggregate metrics

[0585] The server calculates the following metrics for each salesperson based on the data frame:

[0586] Number of deals (total_deals): The number of deals handled by each agent.

[0587] Total Amount: The total amount of deals closed by each rep.

[0588] Successful Deals: The number of successful deals each rep has closed.

[0589] Lost Deals (lost_deals): The number of deals that each rep did not close.

[0590] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[0591] 3. Report preparation phase

[0592] 3.1. Report Initialization

[0593] The server initializes the report template. In this step, the report date and separator lines are set.

[0594] 3.2. Adding data for each person in charge

[0595] The server adds the summary results for each salesperson to the report, including salesperson name, number of deals, number of deals won, number of deals lost, success rate, and total sales.

[0596] 3.3. Report Output

[0597] The server provides the generated report to the user, who can then view or save the report.

[0598] Specific examples

[0599] For example, suppose the following sales activity data is stored in a database:

[0600] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0601] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0602] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0603] The system processes this data and generates a report like this:

[0604] Sales Activity Report (2023-10-06)

[0605] --------------------------

[0606] Salesperson: A

[0607] Count: 2

[0608] Number of deals: 0

[0609] Number of orders lost: 1

[0610] Conversion rate: 0.00%

[0611] Total sales: 100,000 yen

[0612] --------------------------

[0613] Salesperson: B

[0614] Count: 1

[0615] Number of deals: 1

[0616] Number of orders lost: 0

[0617] Closing rate: 100.00%

[0618] Total sales: \250,000

[0619] --------------------------

[0620] This report provides useful information that allows users to easily understand the results and progress of sales activities.

[0621] The processing flow will be explained below.

[0622] Step 1:

[0623] The server establishes a connection to the database, using the database connection string and authentication information. Once the connection is established, the server can access the database.

[0624] Step 2:

[0625] The server retrieves sales activity data from the database. Specifically, it runs SQL queries to extract the required data, including sales representative, date, client, status (prospect, won, lost), and deal amount.

[0626] Step 3:

[0627] The server converts the retrieved data into a data frame using the Pandas library, which makes it easier to manipulate and analyze. A data frame consists of rows and columns, with each column representing an attribute (e.g., salesperson, date, client, etc.).

[0628] Step 4:

[0629] The server groups the data frame by sales representative, which brings together the data for each sales representative, ready to be analyzed and aggregated individually.

[0630] Step 5:

[0631] The server calculates the following metrics for each sales representative based on the grouped data:

[0632] Number of deals (total_deals): Counts the number of deals handled by each person.

[0633] Total Amount: Calculates the total amount of deals closed by each rep.

[0634] Successful_deals: Counts the number of successful deals each rep has closed.

[0635] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[0636] Success rate: Divide the number of successful deals by the total number of cases and express the result as a percentage.

[0637] Step 6:

[0638] The server initializes the report using the aggregated results, specifically by setting the report date and dividing lines, and preparing to add data for each person in charge.

[0639] Step 7:

[0640] The server adds the summary results for each sales representative to a report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, and total sales. The report is formatted for easy viewing.

[0641] Step 8:

[0642] The server outputs the generated report, either by displaying it or saving it to a file for the user, which is the step where the user has access to the final report.

[0643] Example 1

[0644] 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."

[0645] Collecting, analyzing, compiling, and reporting data in sales activities requires a lot of time and effort, and the process is prone to errors and inconsistencies. If this problem is not resolved, it will be difficult to improve sales activities efficiently, and it will become a factor that hinders improvements in performance.

[0646] 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.

[0647] In this invention, the server includes means for automatically acquiring sales activity data, means for converting the acquired data into a data frame format, means for calculating the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame, means for generating a report based on the analysis and aggregation results, and means for saving or displaying the generated report, thereby enabling efficient automatic collection, analysis, and reporting of sales activity data.

[0648] "Sales Activity Data" means information related to sales representatives' transactions and customer interactions, including, specifically, dates, sales representatives, clients, status (prospect, won, lost), and closing amounts.

[0649] "Automatic acquisition means" refers to the ability of a system to acquire sales activity data from a database through a program without human intervention.

[0650] A "data frame format" is a two-dimensional data structure structured by rows and columns, which makes it easy to manipulate and analyze data.

[0651] "Means for converting to data frame format" refers to a program or function for converting acquired data into a data frame format, which makes it easier to manipulate and analyze the data.

[0652] "Number of deals" refers to the total number of transactions handled by a particular sales representative.

[0653] "Total sales" refers to the total monetary value of deals closed by a particular salesperson.

[0654] "Closed deals" refers to the number of deals that a sales representative successfully closed.

[0655] "Losses" refers to the number of deals that a salesperson did not close.

[0656] The "conversion rate" is the number of successful sales divided by the total number of cases, and is an indicator of the efficiency of sales activities, generally expressed as a percentage.

[0657] "Means for generating reports" refers to a program or function that automatically creates reports based on the analysis and compilation results.

[0658] "Means for saving or displaying" refers to a program or function for saving the generated report as a file or displaying it to a user.

[0659] To implement this invention, it is first necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. The specific processing content of the program is explained below.

[0660] System Configuration and Functions

[0661] 1. Data Acquisition Phase

[0662] 1.1. Preparing to connect to the database

[0663] The server prepares a connection to the database to obtain sales activity data. For example, it uses a connection string and authentication information to connect to the database. Specifically, it sets the database URL, port number, database name, user name, and password. This makes the database accessible.

[0664] 1.2. Retrieving Data from the Database

[0665] The server executes an SQL query to retrieve sales activity data from the database, including date, sales representative, client, status (prospect, won, lost), and deal amount. The server stores the query results in temporary storage.

[0666] 2. Data analysis and aggregation phase

[0667] 2.1. Converting to DataFrame

[0668] The server converts the acquired data into a data frame using the Pandas library. For example, you can convert data into a data frame by executing code such as "pandas.DataFrame(data)". Converting data into a data frame makes it easy to manipulate data based on rows and columns.

[0669] 2.2. Calculation of aggregate metrics

[0670] The server calculates the following metrics for each sales representative based on the data frame. Specifically, it uses "groupby" to group the data by representative and calculates each metric using the "agg" function. For example, it calculates the following metrics:

[0671] Number of deals (total_deals)

[0672] Total sales amount (total_amount)

[0673] Number of successful deals (succesful_deals)

[0674] Number of lost deals (lost_deals)

[0675] success_rate

[0676] 3. Report preparation phase

[0677] 3.1. Report Initialization

[0678] The server initializes the report template. First, it gets the current date and writes it in the header of the report. For example, it initializes it as "report = 'Sales Activity Report(' + Today's Date + ')\n--------------------------\n'".

[0679] 3.2. Adding data for each person in charge

[0680] The server adds the results of each person's calculation to the report. Specifically,

[0681] Update the report content for each salesperson like this: "for salesperson in salesperson list: report += 'salesperson: ' + salesperson + '\n number: ' + total_deals[salesperson] + '\n number of deals: ' + succesful_deals[salesperson] + '\n number of lost deals: ' + lost_deals[salesperson] + '\n success rate: ' + success_rate[salesperson] + '%\n total sales amount: \' + total_amount[salesperson] + '\n--------------------------\n'"

[0682] 3.3. Report Output

[0683] The server saves the generated report as a file or displays it to the user. For example, it can be saved as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)". In the case of a web application, the report content can be embedded in an HTML template and displayed on the user's device.

[0684] Specific examples

[0685] For example, suppose the following sales activity data is stored in a database:

[0686] Date: 2023-10-01, Salesperson: Person A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0687] Date: 2023-10-02, Salesperson: Person B, Client: Company Y, Status: Order, Contract Amount: 250,000 yen

[0688] Date: 2023-10-03, Salesperson: Person A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0689] The system processes this data and generates a report like this:

[0690] Sales Activity Report (2023-10-06)

[0691] --------------------------

[0692] Salesperson: Salesperson A

[0693] Count: 2

[0694] Number of deals: 0

[0695] Number of orders lost: 1

[0696] Conversion rate: 0.00%

[0697] Total sales: 100,000 yen

[0698] --------------------------

[0699] Salesperson: Salesperson B

[0700] Count: 1

[0701] Number of deals: 1

[0702] Number of orders lost: 0

[0703] Closing rate: 100.00%

[0704] Total sales: \250,000

[0705] --------------------------

[0706] Such reports allow the user to easily understand the performance of each sales representative.

[0707] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0708] Step 1:

[0709] Preparing to connect to the database

[0710] The server prepares a connection to the database to retrieve sales activity data. Specifically, it sets the connection string and authentication information. This step has the following inputs and outputs:

[0711] Input: Database URL, port number, database name, username, password.

[0712] Output: A connection object to the database.

[0713] The server uses this information to prepare the database for access.

[0714] Step 2:

[0715] Retrieving data from a database

[0716] The server executes an SQL query to retrieve sales activity data from the database. This step has the following inputs and outputs:

[0717] Input: SQL query "SELECT FROM sales_activities WHERE date >= '2023-10-01'".

[0718] Output: Captured sales activity data (e.g. date, salesperson, client, status, deal amount).

[0719] The server executes the query, retrieves the required data from the database, and stores it in a temporary storage area.

[0720] Step 3:

[0721] Converting to a DataFrame

[0722] The server converts the acquired data into a data frame using the Pandas library. This step has the following inputs and outputs:

[0723] Input: Captured sales activity data.

[0724] Output: Data in dataframe format.

[0725] The server runs code like "pandas.DataFrame(data)" to convert the acquired data into a data frame.

[0726] Step 4:

[0727] Calculating aggregate metrics

[0728] The server calculates the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame. This step has the following inputs and outputs:

[0729] Input: Sales activity data in data frame format.

[0730] Output: Aggregate metrics for each salesperson (number of opportunities, total sales, number of successful deals, number of lost deals, success rate).

[0731] Specifically, we use "groupby" to group the data by person in charge and then use the "agg" function to calculate each metric.

[0732] Step 5:

[0733] Initializing the report

[0734] The server initializes the report template. This step has the following inputs and outputs:

[0735] Input: Current date.

[0736] Output: Initial report template.

[0737] Specifically, the header part of the report is initialized as follows: "report = 'Sales Activity Report (' + today's date + ')\n--------------------------\n'".

[0738] Step 6:

[0739] Add data for each person in charge

[0740] The server adds the summary results for each person to the report. This step has the following inputs and outputs:

[0741] Input: Aggregate metrics for each sales representative (number of cases, total sales, number of successful deals, number of lost deals, success rate).

[0742] Output: A report with data for each person added.

[0743] Specifically, the report contents are updated as follows: "for rep in sales rep list: report += 'sales rep: ' + rep + '\n number: ' + total_deals[rep] + '\n number of deals: ' + succesful_deals[rep] + '\n number of lost deals: ' + lost_deals[rep] + '\n success rate: ' + success_rate[rep] + '%\n total sales amount: \' + total_amount[rep] + '\n--------------------------\n'".

[0744] Step 7:

[0745] Report output

[0746] The server saves the generated report or displays it to the user. This step has the following inputs and outputs:

[0747] Input: Completed report.

[0748] Output: A saved report file or a displayed report on the user's terminal.

[0749] Specifically, you can save it as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)", or in the case of a web app, you can embed it in an HTML template and display it.

[0750] (Application example 1)

[0751] 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."

[0752] In modern factories, managing production line efficiency and maintenance activities is becoming increasingly complex. Furthermore, manually conducting real-time monitoring and detailed data analysis for each worker takes time and effort. This makes it difficult to timely schedule maintenance, reduce production efficiency, and detect defects early. To solve this problem, automated data acquisition and analysis, along with automated report generation, is required, rather than relying on traditional methods.

[0753] 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.

[0754] In this invention, the server includes means for automatically acquiring work activity data, means for analyzing and aggregating the acquired data, means for generating reports based on the analysis and aggregation results, means for displaying data in real time, and means for saving and exporting the reports. This enables detailed management of the efficiency and maintenance activities of each production line in a factory, and automation of data analysis for each person in charge, enabling real-time monitoring and rapid report generation.

[0755] "Work activities" refers to all work and operations that take place on a production line.

[0756] "Means for automatically acquiring data" refers to a system for collecting work activity data in real time through sensors and IoT devices.

[0757] "Means for analyzing and aggregating data" refers to a system for analyzing and aggregating collected data using Pandas or a similar data processing library.

[0758] "Means for generating reports" refers to a system for creating reports based on the analysis and aggregation results in a format that can be viewed and shared by users.

[0759] "Means for displaying data in real time" refers to a system for immediately displaying acquired data and analysis results on a user interface or display.

[0760] "Means for saving and exporting reports" refers to a system for saving generated reports as files and transferring / sharing them to other systems or devices as needed.

[0761] The term "data frame format" refers to a two-dimensional, labeled data structure consisting of rows and columns, which is useful for data analysis and manipulation.

[0762] To implement this invention, it is necessary to develop the following specific system configuration and program: This system automatically acquires data on work activities within a factory, analyzes and aggregates it, and generates a report based on the results.

[0763] System configuration and hardware / software used

[0764] 1. Data Acquisition Phase:

[0765] Hardware:

[0766] Smart glasses (with AR function)

[0767] Sensors and IoT Devices

[0768] software:

[0769] Database (SQLite)

[0770] Python

[0771] 2. Data analysis and aggregation phase:

[0772] software:

[0773] Pandas (Python library)

[0774] 3. Reporting Phase:

[0775] software:

[0776] Python (report generation)

[0777] Text export function

[0778] Natural language description of the process

[0779] The server first acquires real-time data on work activities using smart glasses and sensors. The data includes the worker, type of work (e.g., maintenance, regular work), work status (e.g., completed, failed), and time information. The acquired data is then stored in an SQLite database.

[0780] The server then uses Python to retrieve the data from the SQLite database and converts it into a data frame using the Pandas library, making it easy to analyze and aggregate the work done by each worker in detail.

[0781] To get specific metrics, we calculate the following data for each rep:

[0782] Number of tasks (total_tasks): The number of tasks performed by each user.

[0783] Maintenance Count (maintenance_count): The number of maintenance tasks.

[0784] Failure count (failure_count): The number of failed operations.

[0785] Success Rate (success_rate): The percentage of successful operations divided by the total number of operations.

[0786] Based on these aggregated results, the server generates a report detailing the number of tasks, maintenance tasks, failures, and success rates for each technician. The report is displayed in real time on the smart glasses' display and can also be saved and exported as a file.

[0787] Specific examples

[0788] For example, suppose the following data is retrieved:

[0789] Date: 2023-10-01, Person in Charge: X, Work Type: Maintenance, Status: Completed

[0790] Date: 2023-10-02, Person in Charge: Y, Work Type: Regular Work, Status: Failed

[0791] Date: 2023-10-03, Person in Charge: X, Work Type: Regular Work, Status: Completed

[0792] The system processes this data and generates a report like this:

[0793] Factory activity report (2023-10-06)

[0794] --------------------------

[0795] Contact: X

[0796] Number of tasks: 2

[0797] Number of maintenance: 1

[0798] Number of failures: 0

[0799] Success rate: 100.00%

[0800] --------------------------

[0801] Person in charge: Y

[0802] Number of tasks: 1

[0803] Maintenance count: 0

[0804] Number of failures: 1

[0805] Success rate: 0.00%

[0806] --------------------------

[0807] Prompt Sentence Examples

[0808] Using the factory activity report generation program, please run the code that processes the data on the number of tasks, maintenance tasks, failures, and success rates for each production line employee on "2023-10-01."

[0809] Input example: Factory data for 2023-10-01

[0810] Output example: Factory activity report for each person in charge

[0811] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0812] Step 1:

[0813] Data Acquisition

[0814] The server uses smart glasses and sensors to acquire work activity data in real time. This data includes the worker, type of work (maintenance, regular work, etc.), work status (completed, failed, etc.), and time information. The acquired data is stored in an SQLite database. Specifically, the server reads signals from the sensors and writes them to the database.

[0815] Input: Real-time data from smart glasses and sensors

[0816] Output: Work activity data stored in a SQLite database

[0817] Step 2:

[0818] Data loading

[0819] The server uses a Python program to run queries to read activity data from an SQLite database, using Python's sqlite3 library to establish a database connection and retrieve the required data.

[0820] Input: SQLite database

[0821] Output: Work activity data converted to a Pandas dataframe

[0822] Step 3:

[0823] Data Conversion

[0824] The server uses the Pandas library to convert the data into a data frame, which makes it easier to manipulate and analyze. Specific operations include converting SQL result sets into Pandas data frames.

[0825] Input: Data retrieved from a SQLite database

[0826] Output: Work activity data in Pandas dataframe format

[0827] Step 4:

[0828] Data analysis and aggregation

[0829] The server calculates the following metrics for each worker based on the data frame:

[0830] Number of tasks (total_tasks): The number of tasks performed by each user

[0831] Maintenance Count (maintenance_count): Number of maintenance operations

[0832] Failure count (failure_count): The number of failed operations

[0833] Success Rate (success_rate): The number of successful operations divided by the total number of operations (as a percentage)

[0834] Specifically, this includes aggregating data frames using Pandas' groupby and agg methods.

[0835] Input: Work activity data in a data frame format

[0836] Output: Aggregated data for each person in charge

[0837] Step 5:

[0838] report generation

[0839] The server generates a report based on the aggregated results. The report includes the number of tasks, maintenance tasks, failures, and success rates for each person in charge. It uses Python string manipulation to generate a report in a format that meets the user's needs.

[0840] Input: Aggregation result data for each person

[0841] Output: Text of the generated report

[0842] Step 6:

[0843] View and save reports

[0844] The server displays the generated report and saves it as a file. This includes displaying the report in real time on the smart glasses display and saving the report as a text file using Python file operations.

[0845] Input: Generated report text

[0846] Output: Report displayed on smart glasses display, saved text file

[0847] 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.

[0848] To implement this invention, it is necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. It also incorporates an emotion engine that recognizes user emotions, and collects and analyzes emotion data.

[0849] System Configuration and Functions

[0850] 1. Data Acquisition Phase

[0851] 1.1. Preparing to connect to the database

[0852] The server establishes a connection to the database, using the connection string and authentication information to establish a secure connection.

[0853] 1.2. Retrieving Data from the Database

[0854] The server retrieves sales activity data from the database, including the date, salesperson, client, status (prospect, won, lost), and deal amount.

[0855] 1.3. Acquiring Emotion Data

[0856] The device collects the user's emotional data, including the user's tone of voice, facial expressions, and input text, and this data is analyzed by the emotion engine.

[0857] 2. Data analysis and aggregation phase

[0858] 2.1. Converting to DataFrame

[0859] The server converts the acquired sales data into a data frame using the Pandas library, which makes it easier to manipulate and analyze the data.

[0860] 2.2. Calculation of aggregate metrics

[0861] The server calculates the following metrics for each salesperson based on the data frame:

[0862] Number of deals (total_deals): The number of deals handled by each agent.

[0863] Total Amount: The total amount of deals closed by each rep.

[0864] Successful Deals: The number of successful deals each rep has closed.

[0865] Lost Deals (lost_deals): The number of deals that each rep did not close.

[0866] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[0867] 2.3. Analysis of Emotion Data

[0868] The emotion engine analyzes the collected emotion data and evaluates the user's emotional state based on it, which is then added to the analysis of sales activities.

[0869] 3. Report preparation phase

[0870] 3.1. Report Initialization

[0871] The server initializes the report template, setting the dates and dividing lines, and preparing to add data for each person.

[0872] 3.2. Adding data for each person in charge

[0873] The server adds the summary results for each sales representative to the report, including the representative's name, number of opportunities, number of successful and unsuccessful sales, success rate, and total sales.

[0874] 3.3. Reflecting Emotional Data

[0875] The server then reflects the user's emotional data in a report, allowing users to visually understand how their emotional state is affecting their sales activities.

[0876] 3.4. Report Output

[0877] The server provides the generated report to the user, who can then view it or save it as a file for review.

[0878] Specific examples

[0879] For example, suppose the following sales activity data is stored in a database:

[0880] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0881] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0882] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0883] Also, suppose the following sentiment data is collected:

[0884] Date: 2023-10-01, User: A, Sentiment: Positive

[0885] Date: 2023-10-02, User: B, Sentiment: Neutral

[0886] Date: 2023-10-03, User: A, Sentiment: Negative

[0887] The system processes this data and generates a report like this:

[0888] Sales Activity Report (2023-10-06)

[0889] --------------------------

[0890] Salesperson: A

[0891] Count: 2

[0892] Number of deals: 0

[0893] Number of orders lost: 1

[0894] Conversion rate: 0.00%

[0895] Total sales: 100,000 yen

[0896] Emotional state: positive, negative

[0897] --------------------------

[0898] Salesperson: B

[0899] Count: 1

[0900] Number of deals: 1

[0901] Number of orders lost: 0

[0902] Closing rate: 100.00%

[0903] Total sales: \250,000

[0904] Emotional State: Neutral

[0905] --------------------------

[0906] This report provides useful information for users to easily understand the results and progress of sales activities, as well as their emotional state.

[0907] The processing flow will be explained below.

[0908] Step 1:

[0909] The server establishes a connection to the database, using a connection string and authentication information to establish a secure connection and make the database accessible.

[0910] Step 2:

[0911] The server retrieves sales activity data from the database by using an SQL query to extract the required fields from the database (e.g., date, salesperson, client, status, and deal amount).

[0912] Step 3:

[0913] The device collects the user's emotional data, including by using a microphone and camera to capture voice tone and facial expressions in real time, and by analyzing emotions from input text. This data is sent to the emotion engine.

[0914] Step 4:

[0915] The server converts the acquired sales data into a Pandas data frame format, which makes it easier to manipulate the data and perform various analyses.

[0916] Step 5:

[0917] The server groups the data frame by sales representative. In this step, we use the "groupby" function of the data frame to group the data for each sales representative into a separate group.

[0918] Step 6:

[0919] The server calculates the following metrics for each sales representative based on the grouped data:

[0920] Number of deals (total_deals): Counts the number of deals handled by each person.

[0921] Total Amount: Calculates the total amount of deals closed by each salesperson.

[0922] Successful_deals: Counts the number of successful deals each rep has closed.

[0923] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[0924] Success Rate: Divide the number of successful deals by the total number of opportunities and convert the result into a percentage.

[0925] Step 7:

[0926] The emotion engine analyzes the collected emotion data and assesses the user's emotional state using machine learning models and natural language processing techniques to identify positive, negative, or neutral emotional states.

[0927] Step 8:

[0928] The server integrates the aggregated sales data with the analysis results of the emotion engine, allowing the system to understand not only the performance of each sales representative but also their emotional state at that time.

[0929] Step 9:

[0930] The server initializes a report template, which contains basic elements such as dates, separators, and headings.

[0931] Step 10:

[0932] The server adds the results of each sales representative's analysis to the report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, total sales amount, and emotional state.

[0933] Step 11:

[0934] The server provides the generated report to the user. The report is displayed in a format that the user can view, and can also be saved as a file if necessary. The user can use this report to comprehensively analyze the performance and emotional state of their sales activities.

[0935] Example 2

[0936] 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."

[0937] Conventional sales activity management systems have problems in that they are insufficiently automated in the acquisition and analysis of sales activity data, and can only generate reports based on simple numerical data without taking the user's emotional state into account. This makes it difficult to grasp the overall picture of sales activity results and progress, and makes it impossible to evaluate the impact of sales representatives' motivation and emotional state on sales results. This invention aims to solve these problems by centrally managing and analyzing sales activity data and user emotional data, and generating more comprehensive and detailed reports.

[0938] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0939] In this invention, the server includes means for automatically acquiring sales activity data, means for collecting and analyzing the user's emotional state, and means for analyzing and aggregating the acquired sales activity data and emotional data. This makes it possible to comprehensively grasp the results and progress of sales activities and the user's emotional state, and to evaluate the impact that changes in the motivation and emotions of specific sales representatives have on sales results.

[0940] "Sales activity data" refers to information about various sales activities conducted by sales representatives, specifically including the date, sales representative name, client name, status (prospect, won, lost), and contract amount.

[0941] "Emotional state" is information that indicates the user's mental and emotional state, specifically, emotional states such as positive, negative, neutral, etc. that are analyzed from voice tone, facial expressions, input text, etc.

[0942] A "report" is a document created based on the acquired and analyzed data, and includes information regarding the number of opportunities, total sales, number of successful deals, number of lost deals, success rate, and emotional state for each sales representative.

[0943] A "database" is a system for efficiently and effectively storing and managing large amounts of data, and is built using technologies such as SQL and NoSQL.

[0944] A "data frame" is a two-dimensional data structure consisting of rows and columns for manipulating and analyzing data, and is a format used in libraries such as Pandas.

[0945] "Aggregate metrics" are statistical information calculated based on a specific data set, such as the number of deals, total sales, number of successful deals, number of lost deals, and success rate.

[0946] A "template" is a format and format definition used to create a report, and is a structure for automatically arranging data.

[0947] "User" refers to the entity that uses the system to manage and analyze sales activity data and generate reports.

[0948] The present invention is a system that manages sales activity data and the emotional state of users in an integrated manner, analyzes and aggregates the data, and generates detailed reports based on the results. The following describes an embodiment of the present invention.

[0949] The system consists of a server, terminals, and users. To name the specific hardware and software, the server uses MySQL or PostgreSQL as a database management system (DBMS), the Pandas library for data analysis, and Librosa or TensorFlow for sentiment analysis. Meanwhile, the terminals use computers or smartphones equipped with microphones and cameras to collect voice and facial expressions, and users include sales representatives and system administrators.

[0950] Data Acquisition Phase

[0951] The server first establishes a connection to the database. After a secure connection is established using a connection string and authentication information, it executes an SQL query to retrieve data about sales activities. For example, a query like "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'" is used. This data includes the date, sales representative, client, status (prospect, won, lost), and deal amount.

[0952] The device collects the user's emotional data. Specifically, it uses a microphone and camera to capture the user's voice tone and facial expressions, and analyzes them using natural language processing and facial recognition algorithms. During this process, it extracts voice features using the Librosa library and classifies emotions using TensorFlow or PyTorch. This allows the user's emotional state to be evaluated as positive, negative, neutral, etc.

[0953] Data analysis and aggregation phase

[0954] The server converts the acquired sales data into a data frame format using the Pandas library. For example, it executes the code "pandas.DataFrame(data)" to convert list or dictionary type data into a data frame. Next, it calculates aggregate indicators based on the data frame. Specifically, it uses the method "dataframe.groupby('Rep')" to calculate the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each representative. These results are stored in a new data frame to make them easier to handle visually.

[0955] Reporting phase

[0956] The server initializes the report template. It reads the template file and automatically inserts the date and separator lines. For this purpose, a Python report generation library (such as ReportLab or Jinja2) is used. Next, the aggregated data and emotion data are inserted into the appropriate positions in the template, and a report is generated. For example, information such as "User A's emotional state: positive, negative" is added to the template.

[0957] Finally, the server provides the generated report to the user, saving it in PDF or HTML format and integrating with web frameworks such as Flask or Django to allow the user to download and view it.

[0958] Specific examples

[0959] For example, suppose the following sales activity data is stored in a database:

[0960] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[0961] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[0962] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[0963] Also, suppose the following sentiment data is collected:

[0964] Date: 2023-10-01, User: A, Sentiment: Positive

[0965] Date: 2023-10-02, User: B, Sentiment: Neutral

[0966] Date: 2023-10-03, User: A, Sentiment: Negative

[0967] The system processes this data and generates a report like this:

[0968] Sales Activity Report (2023-10-06)

[0969] --------------------------

[0970] Salesperson: A

[0971] Count: 2

[0972] Number of deals: 0

[0973] Number of orders lost: 1

[0974] Conversion rate: 0.00%

[0975] Total sales: 100,000 yen

[0976] Emotional state: positive, negative

[0977] --------------------------

[0978] Salesperson: B

[0979] Count: 1

[0980] Number of deals: 1

[0981] Number of orders lost: 0

[0982] Closing rate: 100.00%

[0983] Total sales: \250,000

[0984] Emotional State: Neutral

[0985] --------------------------

[0986] This report provides useful information for users to get a comprehensive understanding of sales performance, progress, and emotional state.

[0987] Prompt Sentence Examples

[0988] An example of a prompt to input to a generative AI model is:

[0989] "Generate a report summarizing sales activity data. Include the number of opportunities, wins, losses, win rates, total sales, and emotional state for each sales rep."

[0990] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0991] Step 1: Establishing a Database Connection

[0992] The server reads the database connection information from a configuration file and environment variables, specifically the database URL, username, and password from an external file, and constructs a connection string.

[0993] Input: Connection information from a configuration file or environment variables (e.g. URL, username, password)

[0994] Process: Establish a database connection using SQLAlchemy or JDBC libraries.

[0995] Output: A database connection object if successful, or an error message if unsuccessful.

[0996] Step 2: Capture sales activity data

[0997] The server uses the established database connection to issue an SQL query to retrieve sales activity data. For example, it executes the query "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'".

[0998] Input: Database connection object, SQL query

[0999] Processing: Execute the query and store the retrieved data in a data structure internal to the program (e.g., a list or dictionary).

[1000] Output: Acquired sales activity data.

[1001] Step 3: Obtaining emotion data

[1002] The device collects the user's emotional data by capturing the user's voice tone and facial expressions using the device's microphone and camera, extracting voice features using the Librosa library, and classifying emotions using TensorFlow.

[1003] Input: Audio data, video data

[1004] Processing: Extract features from audio data using Librosa, classify emotions using a TensorFlow model, and analyze facial expression data using OpenCV.

[1005] Output: The user's emotional state (positive, negative, neutral, etc.).

[1006] Step 4: Converting to a DataFrame

[1007] The server converts the acquired sales activity data into a data frame format using the Pandas library.

[1008] Input: Acquired sales activity data (list or dictionary format)

[1009] Processing: Convert the data into a data frame using the pandas.DataFrame constructor.

[1010] Output: Sales activity data in a Pandas dataframe.

[1011] Step 5: Calculate aggregate metrics

[1012] The server calculates aggregated indicators for each salesperson based on the data frame. The processing uses "dataframe.groupby('salesperson')" to calculate the number of cases, total sales, number of successful sales, number of lost sales, and success rate.

[1013] Input: Sales activity data in data frame format

[1014] Processing: Calculate using groupby and aggregation methods (e.g. sum, count, mean).

[1015] Output: Aggregated metrics dataframe.

[1016] Step 6: Analyze and integrate sentiment data

[1017] The server analyzes the collected emotion data and integrates it with sales activity data. The emotion data is aggregated for each sales representative and merged with the sales data.

[1018] Input: Aggregate metrics data frame, sentiment data

[1019] Processing: Use Pandas' merge method to combine the sentiment data and aggregated data.

[1020] Output: The final data frame with the emotion data integrated.

[1021] Step 7: Initialize the report

[1022] The server initializes a report template, which includes the date, headers, and separators.

[1023] Input: Date, Template File

[1024] Processing: Loads the template and sets basic information (e.g. date, title field) on it.

[1025] Output: The initialized report template.

[1026] Step 8: Add data for each contact

[1027] The server adds the aggregated sales activity and sentiment data to the report, inserting these values ​​into a section for each rep in the template.

[1028] Input: Final data frame, report template

[1029] Processing: Loop through each row of the data frame and insert the data for each assignee into the template.

[1030] Output: Report template with data for each person added.

[1031] Step 9: Reflecting Emotional Data

[1032] The server reflects the user's emotional data in the report. Specifically, it inserts the emotional data into the data section for each person in charge.

[1033] Input: Emotion data, report template

[1034] Processing: Insert the emotion data into the appropriate position in the template.

[1035] Output: A report template reflecting the sentiment data.

[1036] Step 10: Output the report

[1037] The server provides the generated report to the user and saves it in PDF or HTML format for the user to download and view.

[1038] Input: Completed report template

[1039] Processing: Render the report in PDF or HTML format, save it as a file, and optionally serve it to the user through a web framework.

[1040] Output: User viewable and downloadable report file.

[1041] (Application example 2)

[1042] 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."

[1043] In security services, to improve the efficiency and safety of staff patrol activities, it is necessary to collect and analyze activity data and emotional data in real time, allowing managers to understand the state of staff. However, conventional systems have difficulty in analyzing staff emotional states in a way that fully reflects them, which has led to issues in managing the working environment and motivation.

[1044] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically acquiring sales activity and behavior data, means for analyzing and aggregating the acquired sales activity and behavior data, means for generating a report based on the analysis and aggregation results, means for analyzing the acquired emotion data and adding the analysis results to the analysis of the sales activity and behavior data, and means for the emotion data to include the emotional state of the target person. This makes it possible to analyze the patrol activities and emotional states of security staff in real time, allowing managers to take prompt action.

[1045] "Sales activity data" is information related to the specific sales process carried out by the sales department, and includes the number of cases, sales amount, number of successful deals, number of lost deals, and the like.

[1046] "Behavior data" is recorded data of a series of actions and activities performed by a subject, and includes patrol routes, checkpoints, interactions, etc.

[1047] "Emotional data" refers to data that indicates a subject's emotional state and is analyzed based on vocal tone, facial expressions, user input, and the like.

[1048] "Means for acquiring" refers to the technical means for collecting data from external sources, including sensors, database connection modules, API interfaces, etc.

[1049] "Means of analysis and aggregation" refers to the technical means of analyzing collected data using statistical methods and algorithms and compiling them into specific indicators.

[1050] "Means for generating reports" means the technical means for organizing and displaying information visually in text and / or graph format based on the analyzed and aggregated data.

[1051] The "means for adding the analysis results to the analysis of sales activity and behavior data" refers to a technical means for integrating the analysis results of emotion data with other activity data and compiling them into a series of analysis results.

[1052] "Targeted Persons" are people monitored and managed by the system, including security staff and sales personnel.

[1053] The system for implementing this invention collects and analyzes the patrol activities and emotional states of security service staff in real time, and generates reports. The hardware and software required to configure this system, as well as specific processing procedures, are described below.

[1054] The main components of the system are the server, the terminals, and the users, each of which plays a specific role.

[1055] Hardware and software used

[1056] Hardware

[1057] Smart glasses: Worn by staff, they collect audio and video in real time.

[1058] Database server: stores collected data.

[1059] Server: Acquires, analyzes, aggregates, and generates reports on data.

[1060] software

[1061] Pandas: A Python library for processing data in dataframe format.

[1062] Emotion recognition libraries (e.g. emotion_recognition): Libraries for parsing emotion data.

[1063] Report Generation Module: A module that generates reports based on the collected data.

[1064] Processing Details

[1065] 1. Data Acquisition Phase

[1066] The server first obtains real-time emotional and behavioral data from the devices (smart glasses), including staff patrol routes, checkpoints, and interactions, and also obtains static sales activity data from the database server.

[1067] 2. Data analysis and aggregation phase

[1068] The server converts the collected data into a data frame using the Pandas library, then calculates metrics such as patrol coverage and number of interactions for each security staff member, and analyzes the emotion data using an emotion recognition library. The analysis results are then integrated with behavioral data to produce a comprehensive analysis.

[1069] 3. Report preparation phase

[1070] The server then initializes a report template and generates a report by combining the aggregated data and emotion data, which can then be viewed by managers in real time, forming a feedback loop.

[1071] Specific examples

[1072] For example, suppose data on security staff member A is collected as follows:

[1073] Patrol route A, 10 checkpoints, 3 interactions.

[1074] The emotional data shows a positive rate of 70% and a negative rate of 20% (on average).

[1075] Based on this data, the system can perform an analysis using the following prompt:

[1076] Design an application that uses sales activity data and sentiment data to understand security staff patrol coverage and sentiment in real time, generating reports to help prevent problems before they occur.

[1077] This allows managers to quickly implement measures to effectively manage and refresh security staff, and is extremely effective in improving the efficiency of security services and the safety of staff.

[1078] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1079] Step 1:

[1080] In the data acquisition phase, the terminal (smart glasses) acquires data on the security staff's patrol routes, checkpoints, and interactions. It also captures audio and video in real time and collects emotional data. This collected data is sent to a database server via wireless communication. The input is the staff's movements and emotional state, and the output is the patrol routes, checkpoints, interactions, audio, and facial expression data. This allows the necessary data to be collected in real time.

[1081] Step 2:

[1082] The server obtains patrol route, checkpoint, and interaction data from the database server. It also collects emotion data from the devices (smart glasses) and stores it in the database. The input is movement data obtained from the database and emotion data obtained from the devices, and the output is movement data and emotion data in Pandas data frame format. This converts the collected data into a unified format.

[1083] Step 3:

[1084] The server uses the Pandas library to convert the collected behavioral data into a data frame format and calculates metrics such as patrol coverage, number of checkpoints, and number of interactions for each security staff member. The input is behavioral data in a unified format, and the output is aggregated metrics for each security staff member. This quantifies the performance of each staff member.

[1085] Step 4:

[1086] The server uses an emotion recognition library to analyze the emotional data collected from the devices and determine their emotional state (positive, negative, neutral, etc.). The input is the emotional data obtained from the devices, and the output is the emotional state as a result of the analysis. This allows a clear evaluation of the emotional state of the staff.

[1087] Step 5:

[1088] The server integrates the analyzed emotion data with the analysis results of the movement data to create a comprehensive analysis result. The input is the analysis results of the movement data and the emotion data, and the output is the integrated analysis result. This makes it possible to evaluate from both the movement and emotion perspectives.

[1089] Step 6:

[1090] The server initializes daily, weekly, and monthly report templates based on the integrated analysis results, and generates reports by combining the aggregated data and sentiment data. The input is the integrated analysis results, and the output is a formatted report. This provides information in a format that is easily understandable for administrators.

[1091] Step 7:

[1092] The server notifies the manager of the generated report in real time, forming a feedback loop. The manager can understand the status of the staff based on the report and take necessary measures promptly. The input is a formatted report, and the output is a notification to the manager. This allows for effective management of staff and early response.

[1093] 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.

[1094] 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.

[1095] 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.

[1096] [Third embodiment]

[1097] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[1098] 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.

[1099] 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).

[1100] 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.

[1101] 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.

[1102] 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).

[1103] 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.

[1104] 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.

[1105] 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.

[1106] 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.

[1107] 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.

[1108] 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."

[1109] To put this invention into practice, it is first necessary to develop a program with the following system configuration and functions: This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results.

[1110] System Configuration and Functions

[1111] 1. Data Acquisition Phase

[1112] 1.1. Preparing to connect to the database

[1113] The server prepares the connection to the database, which is the step where it establishes the connection using the database connection string and authentication information.

[1114] 1.2. Retrieving Data from the Database

[1115] The server retrieves sales activity data from the database, including the date, sales representative, client, status (prospect, won, lost), and contract amount, providing basic information to understand the specifics of the sales activity.

[1116] 2. Data analysis and aggregation phase

[1117] 2.1. Converting to DataFrame

[1118] The server converts the retrieved data into a Pandas data frame, which makes it easier to manipulate and analyze the data.

[1119] 2.2. Calculation of aggregate metrics

[1120] The server calculates the following metrics for each salesperson based on the data frame:

[1121] Number of deals (total_deals): The number of deals handled by each agent.

[1122] Total Amount: The total amount of deals closed by each rep.

[1123] Successful Deals: The number of successful deals each rep has closed.

[1124] Lost Deals (lost_deals): The number of deals that each rep did not close.

[1125] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[1126] 3. Report preparation phase

[1127] 3.1. Report Initialization

[1128] The server initializes the report template. In this step, the report date and separator lines are set.

[1129] 3.2. Adding data for each person in charge

[1130] The server adds the summary results for each salesperson to the report, including salesperson name, number of deals, number of deals won, number of deals lost, success rate, and total sales.

[1131] 3.3. Report Output

[1132] The server provides the generated report to the user, who can then view or save the report.

[1133] Specific examples

[1134] For example, suppose the following sales activity data is stored in a database:

[1135] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1136] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[1137] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1138] The system processes this data and generates a report like this:

[1139] Sales Activity Report (2023-10-06)

[1140] --------------------------

[1141] Salesperson: A

[1142] Count: 2

[1143] Number of deals: 0

[1144] Number of orders lost: 1

[1145] Conversion rate: 0.00%

[1146] Total sales: 100,000 yen

[1147] --------------------------

[1148] Salesperson: B

[1149] Count: 1

[1150] Number of deals: 1

[1151] Number of orders lost: 0

[1152] Closing rate: 100.00%

[1153] Total sales: \250,000

[1154] --------------------------

[1155] This report provides useful information that allows users to easily understand the results and progress of sales activities.

[1156] The processing flow will be explained below.

[1157] Step 1:

[1158] The server establishes a connection to the database, using the database connection string and authentication information. Once the connection is established, the server can access the database.

[1159] Step 2:

[1160] The server retrieves sales activity data from the database. Specifically, it runs SQL queries to extract the required data, including sales representative, date, client, status (prospect, won, lost), and deal amount.

[1161] Step 3:

[1162] The server converts the retrieved data into a data frame using the Pandas library, which makes it easier to manipulate and analyze. A data frame consists of rows and columns, with each column representing an attribute (e.g., salesperson, date, client, etc.).

[1163] Step 4:

[1164] The server groups the data frame by sales representative, which brings together the data for each sales representative, ready to be analyzed and aggregated individually.

[1165] Step 5:

[1166] The server calculates the following metrics for each sales representative based on the grouped data:

[1167] Number of deals (total_deals): Counts the number of deals handled by each person.

[1168] Total Amount: Calculates the total amount of deals closed by each rep.

[1169] Successful_deals: Counts the number of successful deals each rep has closed.

[1170] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[1171] Success rate: Divide the number of successful deals by the total number of cases and express the result as a percentage.

[1172] Step 6:

[1173] The server initializes the report using the aggregated results, specifically by setting the report date and dividing lines, and preparing to add data for each person in charge.

[1174] Step 7:

[1175] The server adds the summary results for each sales representative to a report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, and total sales. The report is formatted for easy viewing.

[1176] Step 8:

[1177] The server outputs the generated report, either by displaying it or saving it to a file for the user, which is the step where the user has access to the final report.

[1178] Example 1

[1179] 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."

[1180] Collecting, analyzing, compiling, and reporting data in sales activities requires a lot of time and effort, and the process is prone to errors and inconsistencies. If this problem is not resolved, it will be difficult to improve sales activities efficiently, and it will become a factor that hinders improvements in performance.

[1181] 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.

[1182] In this invention, the server includes means for automatically acquiring sales activity data, means for converting the acquired data into a data frame format, means for calculating the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame, means for generating a report based on the analysis and aggregation results, and means for saving or displaying the generated report, thereby enabling efficient automatic collection, analysis, and reporting of sales activity data.

[1183] "Sales Activity Data" means information related to sales representatives' transactions and customer interactions, including, specifically, dates, sales representatives, clients, status (prospect, won, lost), and closing amounts.

[1184] "Automatic acquisition means" refers to the ability of a system to acquire sales activity data from a database through a program without human intervention.

[1185] A "data frame format" is a two-dimensional data structure structured by rows and columns, which makes it easy to manipulate and analyze data.

[1186] "Means for converting to data frame format" refers to a program or function for converting acquired data into a data frame format, which makes it easier to manipulate and analyze the data.

[1187] "Number of deals" refers to the total number of deals handled by a particular sales representative.

[1188] "Total sales" refers to the total monetary value of deals closed by a particular salesperson.

[1189] "Closed deals" refers to the number of deals that a sales representative successfully closed.

[1190] "Losses" refers to the number of deals that a salesperson did not close.

[1191] The "conversion rate" is the number of successful sales divided by the total number of cases, and is an indicator of the efficiency of sales activities, generally expressed as a percentage.

[1192] "Means for generating reports" refers to a program or function that automatically creates reports based on the analysis and compilation results.

[1193] "Means for saving or displaying" refers to a program or function for saving the generated report as a file or displaying it to a user.

[1194] To implement this invention, it is first necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. The specific processing content of the program is explained below.

[1195] System Configuration and Functions

[1196] 1. Data Acquisition Phase

[1197] 1.1. Preparing to connect to the database

[1198] The server prepares a connection to the database to obtain sales activity data. For example, it uses a connection string and authentication information to connect to the database. Specifically, it sets the database URL, port number, database name, user name, and password. This makes the database accessible.

[1199] 1.2. Retrieving Data from the Database

[1200] The server executes an SQL query to retrieve sales activity data from the database, including date, sales representative, client, status (prospect, won, lost), and deal amount. The server stores the query results in temporary storage.

[1201] 2. Data analysis and aggregation phase

[1202] 2.1. Converting to DataFrame

[1203] The server converts the acquired data into a data frame using the Pandas library. For example, you can convert data into a data frame by executing code such as "pandas.DataFrame(data)". Converting data into a data frame makes it easy to manipulate data based on rows and columns.

[1204] 2.2. Calculation of aggregate metrics

[1205] The server calculates the following metrics for each sales representative based on the data frame. Specifically, it uses "groupby" to group the data by representative and calculates each metric using the "agg" function. For example, it calculates the following metrics:

[1206] Number of deals (total_deals)

[1207] Total sales amount (total_amount)

[1208] Number of successful deals (succesful_deals)

[1209] Number of lost deals (lost_deals)

[1210] success_rate

[1211] 3. Report preparation phase

[1212] 3.1. Report Initialization

[1213] The server initializes the report template. First, it gets the current date and writes it in the header of the report. For example, it initializes it as "report = 'Sales Activity Report(' + Today's Date + ')\n--------------------------\n'".

[1214] 3.2. Adding data for each person in charge

[1215] The server adds the results of each person's calculation to the report. Specifically,

[1216] Update the report content for each salesperson like this: "for salesperson in salesperson list: report += 'salesperson: ' + salesperson + '\n number: ' + total_deals[salesperson] + '\n number of deals: ' + succesful_deals[salesperson] + '\n number of lost deals: ' + lost_deals[salesperson] + '\n success rate: ' + success_rate[salesperson] + '%\n total sales amount: \' + total_amount[salesperson] + '\n--------------------------\n'"

[1217] 3.3. Report Output

[1218] The server saves the generated report as a file or displays it to the user. For example, it can be saved as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)". In the case of a web application, the report content can be embedded in an HTML template and displayed on the user's device.

[1219] Specific examples

[1220] For example, suppose the following sales activity data is stored in a database:

[1221] Date: 2023-10-01, Salesperson: Person A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1222] Date: 2023-10-02, Salesperson: Person B, Client: Company Y, Status: Order, Contract Amount: 250,000 yen

[1223] Date: 2023-10-03, Salesperson: Person A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1224] The system processes this data and generates a report like this:

[1225] Sales Activity Report (2023-10-06)

[1226] --------------------------

[1227] Salesperson: Salesperson A

[1228] Count: 2

[1229] Number of deals: 0

[1230] Number of orders lost: 1

[1231] Conversion rate: 0.00%

[1232] Total sales: 100,000 yen

[1233] --------------------------

[1234] Salesperson: Salesperson B

[1235] Count: 1

[1236] Number of deals: 1

[1237] Number of orders lost: 0

[1238] Closing rate: 100.00%

[1239] Total sales: \250,000

[1240] --------------------------

[1241] Such reports allow the user to easily understand the performance of each sales representative.

[1242] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1243] Step 1:

[1244] Preparing to connect to the database

[1245] The server prepares a connection to the database to retrieve sales activity data. Specifically, it sets the connection string and authentication information. This step has the following inputs and outputs:

[1246] Input: Database URL, port number, database name, username, password.

[1247] Output: A connection object to the database.

[1248] The server uses this information to prepare the database for access.

[1249] Step 2:

[1250] Retrieving data from a database

[1251] The server executes an SQL query to retrieve sales activity data from the database. This step has the following inputs and outputs:

[1252] Input: SQL query "SELECT FROM sales_activities WHERE date >= '2023-10-01'".

[1253] Output: Captured sales activity data (e.g. date, salesperson, client, status, deal amount).

[1254] The server executes the query, retrieves the required data from the database, and stores it in a temporary storage area.

[1255] Step 3:

[1256] Converting to a DataFrame

[1257] The server converts the acquired data into a data frame using the Pandas library. This step has the following inputs and outputs:

[1258] Input: Captured sales activity data.

[1259] Output: Data in dataframe format.

[1260] The server runs code like "pandas.DataFrame(data)" to convert the acquired data into a data frame.

[1261] Step 4:

[1262] Calculating aggregate metrics

[1263] The server calculates the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame. This step has the following inputs and outputs:

[1264] Input: Sales activity data in data frame format.

[1265] Output: Aggregate metrics for each salesperson (number of opportunities, total sales, number of successful deals, number of lost deals, success rate).

[1266] Specifically, we use "groupby" to group the data by person in charge and then use the "agg" function to calculate each metric.

[1267] Step 5:

[1268] Initializing the report

[1269] The server initializes the report template. This step has the following inputs and outputs:

[1270] Input: Current date.

[1271] Output: Initial report template.

[1272] Specifically, the header part of the report is initialized as follows: "report = 'Sales Activity Report (' + today's date + ')\n--------------------------\n'".

[1273] Step 6:

[1274] Add data for each person in charge

[1275] The server adds the summary results for each person to the report. This step has the following inputs and outputs:

[1276] Input: Aggregate metrics for each sales representative (number of cases, total sales, number of successful deals, number of lost deals, success rate).

[1277] Output: A report with data for each person added.

[1278] Specifically, the report contents are updated as follows: "for rep in sales rep list: report += 'sales rep: ' + rep + '\n number: ' + total_deals[rep] + '\n number of deals: ' + succesful_deals[rep] + '\n number of lost deals: ' + lost_deals[rep] + '\n success rate: ' + success_rate[rep] + '%\n total sales amount: \' + total_amount[rep] + '\n--------------------------\n'".

[1279] Step 7:

[1280] Report output

[1281] The server saves the generated report or displays it to the user. This step has the following inputs and outputs:

[1282] Input: Completed report.

[1283] Output: A saved report file or a displayed report on the user's terminal.

[1284] Specifically, you can save it as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)", or in the case of a web app, you can embed it in an HTML template and display it.

[1285] (Application example 1)

[1286] 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."

[1287] In modern factories, managing production line efficiency and maintenance activities is becoming increasingly complex. Furthermore, manually conducting real-time monitoring and detailed data analysis for each worker takes time and effort. This makes it difficult to timely schedule maintenance, reduce production efficiency, and detect defects early. To solve this problem, automated data acquisition and analysis, along with automated report generation, is required, rather than relying on traditional methods.

[1288] 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.

[1289] In this invention, the server includes means for automatically acquiring work activity data, means for analyzing and aggregating the acquired data, means for generating reports based on the analysis and aggregation results, means for displaying data in real time, and means for saving and exporting the reports. This enables detailed management of the efficiency and maintenance activities of each production line in a factory, and automation of data analysis for each person in charge, enabling real-time monitoring and rapid report generation.

[1290] "Work activities" refers to all work and operations that take place on a production line.

[1291] "Means for automatically acquiring data" refers to a system for collecting work activity data in real time through sensors and IoT devices.

[1292] "Means for analyzing and aggregating data" refers to a system for analyzing and aggregating collected data using Pandas or a similar data processing library.

[1293] "Means for generating reports" refers to a system for creating reports based on the analysis and aggregation results in a format that can be viewed and shared by users.

[1294] "Means for displaying data in real time" refers to a system for immediately displaying acquired data and analysis results on a user interface or display.

[1295] "Means for saving and exporting reports" refers to a system for saving generated reports as files and transferring / sharing them to other systems or devices as needed.

[1296] The term "data frame format" refers to a two-dimensional, labeled data structure consisting of rows and columns, which is useful for data analysis and manipulation.

[1297] To implement this invention, it is necessary to develop the following specific system configuration and program: This system automatically acquires data on work activities within a factory, analyzes and aggregates it, and generates a report based on the results.

[1298] System configuration and hardware / software used

[1299] 1. Data Acquisition Phase:

[1300] Hardware:

[1301] Smart glasses (with AR function)

[1302] Sensors and IoT Devices

[1303] software:

[1304] Database (SQLite)

[1305] Python

[1306] 2. Data analysis and aggregation phase:

[1307] software:

[1308] Pandas (Python library)

[1309] 3. Reporting Phase:

[1310] software:

[1311] Python (report generation)

[1312] Text export function

[1313] Natural language description of the process

[1314] The server first acquires real-time data on work activities using smart glasses and sensors. The data includes the worker, type of work (e.g., maintenance, regular work), work status (e.g., completed, failed), and time information. The acquired data is then stored in an SQLite database.

[1315] The server then uses Python to retrieve the data from the SQLite database and converts it into a data frame using the Pandas library, making it easy to analyze and aggregate the work done by each worker in detail.

[1316] To get specific metrics, we calculate the following data for each rep:

[1317] Number of tasks (total_tasks): The number of tasks performed by each user.

[1318] Maintenance Count (maintenance_count): The number of maintenance tasks.

[1319] Failure count (failure_count): The number of failed operations.

[1320] Success Rate (success_rate): The percentage of successful operations divided by the total number of operations.

[1321] Based on these aggregated results, the server generates a report detailing the number of tasks, maintenance tasks, failures, and success rates for each technician. The report is displayed in real time on the smart glasses' display and can also be saved and exported as a file.

[1322] Specific examples

[1323] For example, suppose the following data is retrieved:

[1324] Date: 2023-10-01, Person in Charge: X, Work Type: Maintenance, Status: Completed

[1325] Date: 2023-10-02, Person in Charge: Y, Work Type: Regular Work, Status: Failed

[1326] Date: 2023-10-03, Person in Charge: X, Work Type: Regular Work, Status: Completed

[1327] The system processes this data and generates a report like this:

[1328] Factory activity report (2023-10-06)

[1329] --------------------------

[1330] Contact: X

[1331] Number of tasks: 2

[1332] Number of maintenance: 1

[1333] Number of failures: 0

[1334] Success rate: 100.00%

[1335] --------------------------

[1336] Person in charge: Y

[1337] Number of tasks: 1

[1338] Maintenance count: 0

[1339] Number of failures: 1

[1340] Success rate: 0.00%

[1341] --------------------------

[1342] Prompt Sentence Examples

[1343] Using the factory activity report generation program, please run the code that processes the data on the number of tasks, maintenance tasks, failures, and success rates for each production line employee on "2023-10-01."

[1344] Input example: Factory data for 2023-10-01

[1345] Output example: Factory activity report for each person in charge

[1346] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1347] Step 1:

[1348] Data Acquisition

[1349] The server uses smart glasses and sensors to acquire work activity data in real time. This data includes the worker, type of work (maintenance, regular work, etc.), work status (completed, failed, etc.), and time information. The acquired data is stored in an SQLite database. Specifically, the server reads signals from the sensors and writes them to the database.

[1350] Input: Real-time data from smart glasses and sensors

[1351] Output: Work activity data stored in a SQLite database

[1352] Step 2:

[1353] Data loading

[1354] The server uses a Python program to run queries to read activity data from an SQLite database, using Python's sqlite3 library to establish a database connection and retrieve the required data.

[1355] Input: SQLite database

[1356] Output: Work activity data converted to a Pandas dataframe

[1357] Step 3:

[1358] Data Conversion

[1359] The server uses the Pandas library to convert the data into a data frame, which makes it easier to manipulate and analyze. Specific operations include converting SQL result sets into Pandas data frames.

[1360] Input: Data retrieved from a SQLite database

[1361] Output: Work activity data in Pandas dataframe format

[1362] Step 4:

[1363] Data analysis and aggregation

[1364] The server calculates the following metrics for each worker based on the data frame:

[1365] Number of tasks (total_tasks): The number of tasks performed by each user

[1366] Maintenance Count (maintenance_count): Number of maintenance operations

[1367] Failure count (failure_count): The number of failed operations

[1368] Success Rate (success_rate): The number of successful operations divided by the total number of operations (as a percentage)

[1369] Specifically, this includes aggregating data frames using Pandas' groupby and agg methods.

[1370] Input: Work activity data in a data frame format

[1371] Output: Aggregated data for each person in charge

[1372] Step 5:

[1373] report generation

[1374] The server generates a report based on the aggregated results. The report includes the number of tasks, maintenance tasks, failures, and success rates for each person in charge. It uses Python string manipulation to generate a report in a format that meets the user's needs.

[1375] Input: Aggregation result data for each person

[1376] Output: Text of the generated report

[1377] Step 6:

[1378] View and save reports

[1379] The server displays the generated report and saves it as a file. This includes displaying the report in real time on the smart glasses display and saving the report as a text file using Python file operations.

[1380] Input: Generated report text

[1381] Output: Report displayed on smart glasses display, saved text file

[1382] 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.

[1383] To implement this invention, it is necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. It also incorporates an emotion engine that recognizes user emotions, and collects and analyzes emotion data.

[1384] System Configuration and Functions

[1385] 1. Data Acquisition Phase

[1386] 1.1. Preparing to connect to the database

[1387] The server establishes a connection to the database, using the connection string and authentication information to establish a secure connection.

[1388] 1.2. Retrieving Data from the Database

[1389] The server retrieves sales activity data from the database, including the date, salesperson, client, status (prospect, won, lost), and deal amount.

[1390] 1.3. Acquiring Emotion Data

[1391] The device collects the user's emotional data, including the user's tone of voice, facial expressions, and input text, and this data is analyzed by the emotion engine.

[1392] 2. Data analysis and aggregation phase

[1393] 2.1. Converting to DataFrame

[1394] The server converts the acquired sales data into a data frame using the Pandas library, which makes it easier to manipulate and analyze the data.

[1395] 2.2. Calculation of aggregate metrics

[1396] The server calculates the following metrics for each salesperson based on the data frame:

[1397] Number of deals (total_deals): The number of deals handled by each agent.

[1398] Total Amount: The total amount of deals closed by each rep.

[1399] Successful Deals: The number of successful deals each rep has closed.

[1400] Lost Deals (lost_deals): The number of deals that each rep did not close.

[1401] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[1402] 2.3. Analysis of Emotion Data

[1403] The emotion engine analyzes the collected emotion data and evaluates the user's emotional state based on it, which is then added to the analysis of sales activities.

[1404] 3. Report preparation phase

[1405] 3.1. Report Initialization

[1406] The server initializes the report template, setting the dates and dividing lines, and preparing to add data for each person.

[1407] 3.2. Adding data for each person in charge

[1408] The server adds the summary results for each sales representative to the report, including the representative's name, number of opportunities, number of successful and unsuccessful sales, success rate, and total sales.

[1409] 3.3. Reflecting Emotional Data

[1410] The server then reflects the user's emotional data in a report, allowing users to visually understand how their emotional state is affecting their sales activities.

[1411] 3.4. Report Output

[1412] The server provides the generated report to the user, who can then view it or save it as a file for review.

[1413] Specific examples

[1414] For example, suppose the following sales activity data is stored in a database:

[1415] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1416] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[1417] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1418] Also, suppose the following sentiment data is collected:

[1419] Date: 2023-10-01, User: A, Sentiment: Positive

[1420] Date: 2023-10-02, User: B, Sentiment: Neutral

[1421] Date: 2023-10-03, User: A, Sentiment: Negative

[1422] The system processes this data and generates a report like this:

[1423] Sales Activity Report (2023-10-06)

[1424] --------------------------

[1425] Salesperson: A

[1426] Count: 2

[1427] Number of deals: 0

[1428] Number of orders lost: 1

[1429] Conversion rate: 0.00%

[1430] Total sales: 100,000 yen

[1431] Emotional state: positive, negative

[1432] --------------------------

[1433] Salesperson: B

[1434] Count: 1

[1435] Number of deals: 1

[1436] Number of orders lost: 0

[1437] Closing rate: 100.00%

[1438] Total sales: \250,000

[1439] Emotional State: Neutral

[1440] --------------------------

[1441] This report provides useful information for users to easily understand the results and progress of sales activities, as well as their emotional state.

[1442] The processing flow will be explained below.

[1443] Step 1:

[1444] The server establishes a connection to the database, using a connection string and authentication information to establish a secure connection and make the database accessible.

[1445] Step 2:

[1446] The server retrieves sales activity data from the database by using an SQL query to extract the required fields from the database (e.g., date, salesperson, client, status, and deal amount).

[1447] Step 3:

[1448] The device collects the user's emotional data, including by using a microphone and camera to capture voice tone and facial expressions in real time, and by analyzing emotions from input text. This data is sent to the emotion engine.

[1449] Step 4:

[1450] The server converts the acquired sales data into a Pandas data frame format, which makes it easier to manipulate the data and perform various analyses.

[1451] Step 5:

[1452] The server groups the data frame by sales representative. In this step, we use the "groupby" function of the data frame to group the data for each sales representative into a separate group.

[1453] Step 6:

[1454] The server calculates the following metrics for each sales representative based on the grouped data:

[1455] Number of deals (total_deals): Counts the number of deals handled by each person.

[1456] Total Amount: Calculates the total amount of deals closed by each salesperson.

[1457] Successful_deals: Counts the number of successful deals each rep has closed.

[1458] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[1459] Success Rate: Divide the number of successful deals by the total number of opportunities and convert the result into a percentage.

[1460] Step 7:

[1461] The emotion engine analyzes the collected emotion data and assesses the user's emotional state using machine learning models and natural language processing techniques to identify positive, negative, or neutral emotional states.

[1462] Step 8:

[1463] The server integrates the aggregated sales data with the analysis results of the emotion engine, allowing the system to understand not only the performance of each sales representative but also their emotional state at that time.

[1464] Step 9:

[1465] The server initializes a report template, which contains basic elements such as dates, separators, and headings.

[1466] Step 10:

[1467] The server adds the results of each sales representative's analysis to the report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, total sales amount, and emotional state.

[1468] Step 11:

[1469] The server provides the generated report to the user. The report is displayed in a format that the user can view, and can also be saved as a file if necessary. The user can use this report to comprehensively analyze the performance and emotional state of their sales activities.

[1470] Example 2

[1471] 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."

[1472] Conventional sales activity management systems have problems in that they are insufficiently automated in the acquisition and analysis of sales activity data, and can only generate reports based on simple numerical data without taking the user's emotional state into account. This makes it difficult to grasp the overall picture of sales activity results and progress, and makes it impossible to evaluate the impact of sales representatives' motivation and emotional state on sales results. This invention aims to solve these problems by centrally managing and analyzing sales activity data and user emotional data, and generating more comprehensive and detailed reports.

[1473] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1474] In this invention, the server includes means for automatically acquiring sales activity data, means for collecting and analyzing the user's emotional state, and means for analyzing and aggregating the acquired sales activity data and emotional data. This makes it possible to comprehensively grasp the results and progress of sales activities and the user's emotional state, and to evaluate the impact that changes in the motivation and emotions of specific sales representatives have on sales results.

[1475] "Sales activity data" refers to information about various sales activities conducted by sales representatives, specifically including the date, sales representative name, client name, status (prospect, won, lost), and contract amount.

[1476] "Emotional state" is information that indicates the user's mental and emotional state, specifically, emotional states such as positive, negative, neutral, etc. that are analyzed from voice tone, facial expressions, input text, etc.

[1477] A "report" is a document created based on the acquired and analyzed data, and includes information regarding the number of opportunities, total sales, number of successful deals, number of lost deals, success rate, and emotional state for each sales representative.

[1478] A "database" is a system for efficiently and effectively storing and managing large amounts of data, and is built using technologies such as SQL and NoSQL.

[1479] A "data frame" is a two-dimensional data structure consisting of rows and columns for manipulating and analyzing data, and is a format used in libraries such as Pandas.

[1480] "Aggregate metrics" are statistical information calculated based on a specific data set, such as the number of deals, total sales, number of successful deals, number of lost deals, and success rate.

[1481] A "template" is a format and format definition used to create a report, and is a structure for automatically arranging data.

[1482] "User" refers to the entity that uses the system to manage and analyze sales activity data and generate reports.

[1483] The present invention is a system that manages sales activity data and the emotional state of users in an integrated manner, analyzes and aggregates the data, and generates detailed reports based on the results. The following describes an embodiment of the present invention.

[1484] The system consists of a server, terminals, and users. To name the specific hardware and software, the server uses MySQL or PostgreSQL as a database management system (DBMS), the Pandas library for data analysis, and Librosa or TensorFlow for sentiment analysis. Meanwhile, the terminals use computers or smartphones equipped with microphones and cameras to collect voice and facial expressions, and users include sales representatives and system administrators.

[1485] Data Acquisition Phase

[1486] The server first establishes a connection to the database. After a secure connection is established using a connection string and authentication information, it executes an SQL query to retrieve data about sales activities. For example, a query like "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'" is used. This data includes the date, sales representative, client, status (prospect, won, lost), and deal amount.

[1487] The device collects the user's emotional data. Specifically, it uses a microphone and camera to capture the user's voice tone and facial expressions, and analyzes them using natural language processing and facial recognition algorithms. During this process, it extracts voice features using the Librosa library and classifies emotions using TensorFlow or PyTorch. This allows the user's emotional state to be evaluated as positive, negative, neutral, etc.

[1488] Data analysis and aggregation phase

[1489] The server converts the acquired sales data into a data frame format using the Pandas library. For example, it executes the code "pandas.DataFrame(data)" to convert list or dictionary type data into a data frame. Next, it calculates aggregate indicators based on the data frame. Specifically, it uses the method "dataframe.groupby('Rep')" to calculate the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each representative. These results are stored in a new data frame to make them easier to handle visually.

[1490] Reporting phase

[1491] The server initializes the report template. It reads the template file and automatically inserts the date and separator lines. For this purpose, a Python report generation library (such as ReportLab or Jinja2) is used. Next, the aggregated data and emotion data are inserted into the appropriate positions in the template, and a report is generated. For example, information such as "User A's emotional state: positive, negative" is added to the template.

[1492] Finally, the server provides the generated report to the user, saving it in PDF or HTML format and integrating with web frameworks such as Flask or Django to allow the user to download and view it.

[1493] Specific examples

[1494] For example, suppose the following sales activity data is stored in a database:

[1495] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1496] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[1497] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1498] Also, suppose the following sentiment data is collected:

[1499] Date: 2023-10-01, User: A, Sentiment: Positive

[1500] Date: 2023-10-02, User: B, Sentiment: Neutral

[1501] Date: 2023-10-03, User: A, Sentiment: Negative

[1502] The system processes this data and generates a report like this:

[1503] Sales Activity Report (2023-10-06)

[1504] --------------------------

[1505] Salesperson: A

[1506] Count: 2

[1507] Number of deals: 0

[1508] Number of orders lost: 1

[1509] Conversion rate: 0.00%

[1510] Total sales: 100,000 yen

[1511] Emotional state: positive, negative

[1512] --------------------------

[1513] Salesperson: B

[1514] Count: 1

[1515] Number of deals: 1

[1516] Number of orders lost: 0

[1517] Closing rate: 100.00%

[1518] Total sales: \250,000

[1519] Emotional State: Neutral

[1520] --------------------------

[1521] This report provides useful information for users to get a comprehensive understanding of sales performance, progress, and emotional state.

[1522] Prompt Sentence Examples

[1523] An example of a prompt to input to a generative AI model is:

[1524] "Generate a report summarizing sales activity data. Include the number of opportunities, wins, losses, win rates, total sales, and emotional state for each sales rep."

[1525] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1526] Step 1: Establishing a Database Connection

[1527] The server reads the database connection information from a configuration file and environment variables, specifically the database URL, username, and password from an external file, and constructs a connection string.

[1528] Input: Connection information from a configuration file or environment variables (e.g. URL, username, password)

[1529] Process: Establish a database connection using SQLAlchemy or JDBC libraries.

[1530] Output: A database connection object if successful, or an error message if unsuccessful.

[1531] Step 2: Capture sales activity data

[1532] The server uses the established database connection to issue an SQL query to retrieve sales activity data. For example, it executes the query "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'".

[1533] Input: Database connection object, SQL query

[1534] Processing: Execute the query and store the retrieved data in a data structure internal to the program (e.g., a list or dictionary).

[1535] Output: Acquired sales activity data.

[1536] Step 3: Obtaining emotion data

[1537] The device collects the user's emotional data by capturing the user's voice tone and facial expressions using the device's microphone and camera, extracting voice features using the Librosa library, and classifying emotions using TensorFlow.

[1538] Input: Audio data, video data

[1539] Processing: Extract features from audio data using Librosa, classify emotions using a TensorFlow model, and analyze facial expression data using OpenCV.

[1540] Output: The user's emotional state (positive, negative, neutral, etc.).

[1541] Step 4: Converting to a DataFrame

[1542] The server converts the acquired sales activity data into a data frame format using the Pandas library.

[1543] Input: Acquired sales activity data (list or dictionary format)

[1544] Processing: Convert the data into a data frame using the pandas.DataFrame constructor.

[1545] Output: Sales activity data in a Pandas dataframe.

[1546] Step 5: Calculate aggregate metrics

[1547] The server calculates aggregated indicators for each salesperson based on the data frame. The processing uses "dataframe.groupby('salesperson')" to calculate the number of cases, total sales, number of successful sales, number of lost sales, and success rate.

[1548] Input: Sales activity data in data frame format

[1549] Processing: Calculate using groupby and aggregation methods (e.g. sum, count, mean).

[1550] Output: Aggregated metrics dataframe.

[1551] Step 6: Analyze and integrate sentiment data

[1552] The server analyzes the collected emotion data and integrates it with sales activity data. The emotion data is aggregated for each sales representative and merged with the sales data.

[1553] Input: Aggregate metrics data frame, sentiment data

[1554] Processing: Use Pandas' merge method to combine the sentiment data and aggregated data.

[1555] Output: The final data frame with the emotion data integrated.

[1556] Step 7: Initialize the report

[1557] The server initializes a report template, which includes the date, headers, and separators.

[1558] Input: Date, Template File

[1559] Processing: Loads the template and sets basic information (e.g. date, title field) on it.

[1560] Output: The initialized report template.

[1561] Step 8: Add data for each contact

[1562] The server adds the aggregated sales activity and sentiment data to the report, inserting these values ​​into a section for each rep in the template.

[1563] Input: Final data frame, report template

[1564] Processing: Loop through each row of the data frame and insert the data for each assignee into the template.

[1565] Output: Report template with data for each person added.

[1566] Step 9: Reflecting Emotional Data

[1567] The server reflects the user's emotional data in the report. Specifically, it inserts the emotional data into the data section for each person in charge.

[1568] Input: Emotion data, report template

[1569] Processing: Insert the emotion data into the appropriate position in the template.

[1570] Output: A report template reflecting the sentiment data.

[1571] Step 10: Output the report

[1572] The server provides the generated report to the user and saves it in PDF or HTML format for the user to download and view.

[1573] Input: Completed report template

[1574] Processing: Render the report in PDF or HTML format, save it as a file, and optionally serve it to the user through a web framework.

[1575] Output: User viewable and downloadable report file.

[1576] (Application example 2)

[1577] 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."

[1578] In security services, to improve the efficiency and safety of staff patrol activities, it is necessary to collect and analyze activity data and emotional data in real time, allowing managers to understand the state of staff. However, conventional systems have difficulty in analyzing staff emotional states in a way that fully reflects them, which has led to issues in managing the working environment and motivation.

[1579] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically acquiring sales activity and behavior data, means for analyzing and aggregating the acquired sales activity and behavior data, means for generating a report based on the analysis and aggregation results, means for analyzing the acquired emotion data and adding the analysis results to the analysis of the sales activity and behavior data, and means for the emotion data to include the emotional state of the target person. This makes it possible to analyze the patrol activities and emotional states of security staff in real time, allowing managers to take prompt action.

[1580] "Sales activity data" is information related to the specific sales process carried out by the sales department, and includes the number of cases, sales amount, number of successful deals, number of lost deals, and the like.

[1581] "Behavior data" is recorded data of a series of actions and activities performed by a subject, and includes patrol routes, checkpoints, interactions, etc.

[1582] "Emotional data" refers to data that indicates a subject's emotional state and is analyzed based on vocal tone, facial expressions, user input, and the like.

[1583] "Means for acquiring" refers to the technical means for collecting data from external sources, including sensors, database connection modules, API interfaces, etc.

[1584] "Means of analysis and aggregation" refers to the technical means of analyzing collected data using statistical methods and algorithms and compiling them into specific indicators.

[1585] "Means for generating reports" means the technical means for organizing and displaying information visually in text and / or graph format based on the analyzed and aggregated data.

[1586] The "means for adding the analysis results to the analysis of sales activity and behavior data" refers to a technical means for integrating the analysis results of emotion data with other activity data and compiling them into a series of analysis results.

[1587] "Targeted Persons" are people monitored and managed by the system, including security staff and sales personnel.

[1588] The system for implementing this invention collects and analyzes the patrol activities and emotional states of security service staff in real time, and generates reports. The hardware and software required to configure this system, as well as specific processing procedures, are described below.

[1589] The main components of the system are the server, the terminals, and the users, each of which plays a specific role.

[1590] Hardware and software used

[1591] Hardware

[1592] Smart glasses: Worn by staff, they collect audio and video in real time.

[1593] Database server: stores collected data.

[1594] Server: Acquires, analyzes, aggregates, and generates reports on data.

[1595] software

[1596] Pandas: A Python library for processing data in dataframe format.

[1597] Emotion recognition libraries (e.g. emotion_recognition): Libraries for parsing emotion data.

[1598] Report Generation Module: A module that generates reports based on the collected data.

[1599] Processing Details

[1600] 1. Data Acquisition Phase

[1601] The server first obtains real-time emotional and behavioral data from the devices (smart glasses), including staff patrol routes, checkpoints, and interactions, and also obtains static sales activity data from the database server.

[1602] 2. Data analysis and aggregation phase

[1603] The server converts the collected data into a data frame using the Pandas library, then calculates metrics such as patrol coverage and number of interactions for each security staff member, and analyzes the emotion data using an emotion recognition library. The analysis results are then integrated with behavioral data to produce a comprehensive analysis.

[1604] 3. Report preparation phase

[1605] The server then initializes a report template and generates a report by combining the aggregated data and emotion data, which can then be viewed by managers in real time, forming a feedback loop.

[1606] Specific examples

[1607] For example, suppose data on security staff member A is collected as follows:

[1608] Patrol route A, 10 checkpoints, 3 interactions.

[1609] The emotional data shows a positive rate of 70% and a negative rate of 20% (on average).

[1610] Based on this data, the system can perform an analysis using the following prompt:

[1611] Design an application that uses sales activity data and sentiment data to understand security staff patrol coverage and sentiment in real time, generating reports to help prevent problems before they occur.

[1612] This allows managers to quickly implement measures to effectively manage and refresh security staff, and is extremely effective in improving the efficiency of security services and the safety of staff.

[1613] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1614] Step 1:

[1615] In the data acquisition phase, the terminal (smart glasses) acquires data on the security staff's patrol routes, checkpoints, and interactions. It also captures audio and video in real time and collects emotional data. This collected data is sent to a database server via wireless communication. The input is the staff's movements and emotional state, and the output is the patrol routes, checkpoints, interactions, audio, and facial expression data. This allows the necessary data to be collected in real time.

[1616] Step 2:

[1617] The server obtains patrol route, checkpoint, and interaction data from the database server. It also collects emotion data from the devices (smart glasses) and stores it in the database. The input is movement data obtained from the database and emotion data obtained from the devices, and the output is movement data and emotion data in Pandas data frame format. This converts the collected data into a unified format.

[1618] Step 3:

[1619] The server uses the Pandas library to convert the collected behavioral data into a data frame format and calculates metrics such as patrol coverage, number of checkpoints, and number of interactions for each security staff member. The input is behavioral data in a unified format, and the output is aggregated metrics for each security staff member. This quantifies the performance of each staff member.

[1620] Step 4:

[1621] The server uses an emotion recognition library to analyze the emotional data collected from the devices and determine their emotional state (positive, negative, neutral, etc.). The input is the emotional data obtained from the devices, and the output is the emotional state as a result of the analysis. This allows a clear evaluation of the emotional state of the staff.

[1622] Step 5:

[1623] The server integrates the analyzed emotion data with the analysis results of the movement data to create a comprehensive analysis result. The input is the analysis results of the movement data and the emotion data, and the output is the integrated analysis result. This makes it possible to evaluate from both the movement and emotion perspectives.

[1624] Step 6:

[1625] The server initializes daily, weekly, and monthly report templates based on the integrated analysis results, and generates reports by combining the aggregated data and sentiment data. The input is the integrated analysis results, and the output is a formatted report. This provides information in a format that is easily understandable for administrators.

[1626] Step 7:

[1627] The server notifies the manager of the generated report in real time, forming a feedback loop. The manager can understand the status of the staff based on the report and take necessary measures promptly. The input is a formatted report, and the output is a notification to the manager. This allows for effective management of staff and early response.

[1628] 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.

[1629] 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.

[1630] 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.

[1631] [Fourth embodiment]

[1632] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1633] 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.

[1634] 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).

[1635] 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.

[1636] 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.

[1637] 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).

[1638] 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.

[1639] 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.

[1640] 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.

[1641] 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.

[1642] 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.

[1643] 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.

[1644] 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."

[1645] To put this invention into practice, it is first necessary to develop a program with the following system configuration and functions: This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results.

[1646] System Configuration and Functions

[1647] 1. Data Acquisition Phase

[1648] 1.1. Preparing to connect to the database

[1649] The server prepares the connection to the database, which is the step where it establishes the connection using the database connection string and authentication information.

[1650] 1.2. Retrieving Data from the Database

[1651] The server retrieves sales activity data from the database, including the date, sales representative, client, status (prospect, won, lost), and contract amount, providing basic information to understand the specifics of the sales activity.

[1652] 2. Data analysis and aggregation phase

[1653] 2.1. Converting to DataFrame

[1654] The server converts the retrieved data into a Pandas data frame, which makes it easier to manipulate and analyze the data.

[1655] 2.2. Calculation of aggregate metrics

[1656] The server calculates the following metrics for each salesperson based on the data frame:

[1657] Number of deals (total_deals): The number of deals handled by each agent.

[1658] Total Amount: The total amount of deals closed by each rep.

[1659] Successful Deals: The number of successful deals each rep has closed.

[1660] Lost Deals (lost_deals): The number of deals that each rep did not close.

[1661] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[1662] 3. Report preparation phase

[1663] 3.1. Report Initialization

[1664] The server initializes the report template. In this step, the report date and separator lines are set.

[1665] 3.2. Adding data for each person in charge

[1666] The server adds the summary results for each salesperson to the report, including salesperson name, number of deals, number of deals won, number of deals lost, success rate, and total sales.

[1667] 3.3. Report Output

[1668] The server provides the generated report to the user, who can then view or save the report.

[1669] Specific examples

[1670] For example, suppose the following sales activity data is stored in a database:

[1671] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1672] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[1673] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1674] The system processes this data and generates a report like this:

[1675] Sales Activity Report (2023-10-06)

[1676] --------------------------

[1677] Salesperson: A

[1678] Count: 2

[1679] Number of deals: 0

[1680] Number of orders lost: 1

[1681] Conversion rate: 0.00%

[1682] Total sales: 100,000 yen

[1683] --------------------------

[1684] Salesperson: B

[1685] Count: 1

[1686] Number of deals: 1

[1687] Number of orders lost: 0

[1688] Closing rate: 100.00%

[1689] Total sales: \250,000

[1690] --------------------------

[1691] This report provides useful information that allows users to easily understand the results and progress of sales activities.

[1692] The processing flow will be explained below.

[1693] Step 1:

[1694] The server establishes a connection to the database, using the database connection string and authentication information. Once the connection is established, the server can access the database.

[1695] Step 2:

[1696] The server retrieves sales activity data from the database. Specifically, it runs SQL queries to extract the required data, including sales representative, date, client, status (prospect, won, lost), and deal amount.

[1697] Step 3:

[1698] The server converts the retrieved data into a data frame using the Pandas library, which makes it easier to manipulate and analyze. A data frame consists of rows and columns, with each column representing an attribute (e.g., salesperson, date, client, etc.).

[1699] Step 4:

[1700] The server groups the data frame by sales representative, which brings together the data for each sales representative, ready to be analyzed and aggregated individually.

[1701] Step 5:

[1702] The server calculates the following metrics for each sales representative based on the grouped data:

[1703] Number of deals (total_deals): Counts the number of deals handled by each person.

[1704] Total Amount: Calculates the total amount of deals closed by each rep.

[1705] Successful_deals: Counts the number of successful deals each rep has closed.

[1706] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[1707] Success rate: Divide the number of successful deals by the total number of cases and express the result as a percentage.

[1708] Step 6:

[1709] The server initializes the report using the aggregated results, specifically by setting the report date and dividing lines, and preparing to add data for each person in charge.

[1710] Step 7:

[1711] The server adds the summary results for each sales representative to a report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, and total sales. The report is formatted for easy viewing.

[1712] Step 8:

[1713] The server outputs the generated report, either by displaying it or saving it to a file for the user, which is the step where the user has access to the final report.

[1714] Example 1

[1715] 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."

[1716] Collecting, analyzing, compiling, and reporting data in sales activities requires a lot of time and effort, and the process is prone to errors and inconsistencies. If this problem is not resolved, it will be difficult to improve sales activities efficiently, and it will become a factor that hinders improvements in performance.

[1717] 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.

[1718] In this invention, the server includes means for automatically acquiring sales activity data, means for converting the acquired data into a data frame format, means for calculating the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame, means for generating a report based on the analysis and aggregation results, and means for saving or displaying the generated report, thereby enabling efficient automatic collection, analysis, and reporting of sales activity data.

[1719] "Sales Activity Data" means information related to sales representatives' transactions and customer interactions, including, specifically, dates, sales representatives, clients, status (prospect, won, lost), and closing amounts.

[1720] "Automatic acquisition means" refers to the ability of a system to acquire sales activity data from a database through a program without human intervention.

[1721] A "data frame format" is a two-dimensional data structure structured by rows and columns, which makes it easy to manipulate and analyze data.

[1722] "Means for converting to data frame format" refers to a program or function for converting acquired data into a data frame format, which makes it easier to manipulate and analyze the data.

[1723] "Number of deals" refers to the total number of deals handled by a particular sales representative.

[1724] "Total sales" refers to the total monetary value of deals closed by a particular salesperson.

[1725] "Closed deals" refers to the number of deals that a sales representative successfully closed.

[1726] "Losses" refers to the number of deals that a salesperson did not close.

[1727] The "conversion rate" is the number of successful sales divided by the total number of cases, and is an indicator of the efficiency of sales activities, generally expressed as a percentage.

[1728] "Means for generating reports" refers to a program or function that automatically creates reports based on the analysis and compilation results.

[1729] "Means for saving or displaying" refers to a program or function for saving the generated report as a file or displaying it to a user.

[1730] To implement this invention, it is first necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. The specific processing content of the program is explained below.

[1731] System Configuration and Functions

[1732] 1. Data Acquisition Phase

[1733] 1.1. Preparing to connect to the database

[1734] The server prepares a connection to the database to obtain sales activity data. For example, it uses a connection string and authentication information to connect to the database. Specifically, it sets the database URL, port number, database name, user name, and password. This makes the database accessible.

[1735] 1.2. Retrieving Data from the Database

[1736] The server executes an SQL query to retrieve sales activity data from the database, including date, sales representative, client, status (prospect, won, lost), and deal amount. The server stores the query results in temporary storage.

[1737] 2. Data analysis and aggregation phase

[1738] 2.1. Converting to DataFrame

[1739] The server converts the acquired data into a data frame using the Pandas library. For example, you can convert data into a data frame by executing code such as "pandas.DataFrame(data)". Converting data into a data frame makes it easy to manipulate data based on rows and columns.

[1740] 2.2. Calculation of aggregate metrics

[1741] The server calculates the following metrics for each sales representative based on the data frame. Specifically, it uses "groupby" to group the data by representative and calculates each metric using the "agg" function. For example, it calculates the following metrics:

[1742] Number of deals (total_deals)

[1743] Total sales amount (total_amount)

[1744] Number of successful deals (succesful_deals)

[1745] Number of lost deals (lost_deals)

[1746] success_rate

[1747] 3. Report preparation phase

[1748] 3.1. Report Initialization

[1749] The server initializes the report template. First, it gets the current date and writes it in the header of the report. For example, it initializes it as "report = 'Sales Activity Report(' + Today's Date + ')\n--------------------------\n'".

[1750] 3.2. Adding data for each person in charge

[1751] The server adds the results of each person's calculation to the report. Specifically,

[1752] Update the report content for each salesperson like this: "for salesperson in salesperson list: report += 'salesperson: ' + salesperson + '\n number: ' + total_deals[salesperson] + '\n number of deals: ' + succesful_deals[salesperson] + '\n number of lost deals: ' + lost_deals[salesperson] + '\n success rate: ' + success_rate[salesperson] + '%\n total sales amount: \' + total_amount[salesperson] + '\n--------------------------\n'"

[1753] 3.3. Report Output

[1754] The server saves the generated report as a file or displays it to the user. For example, it can be saved as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)". In the case of a web application, the report content can be embedded in an HTML template and displayed on the user's device.

[1755] Specific examples

[1756] For example, suppose the following sales activity data is stored in a database:

[1757] Date: 2023-10-01, Salesperson: Person A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1758] Date: 2023-10-02, Salesperson: Person B, Client: Company Y, Status: Order, Contract Amount: 250,000 yen

[1759] Date: 2023-10-03, Salesperson: Person A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1760] The system processes this data and generates a report like this:

[1761] Sales Activity Report (2023-10-06)

[1762] --------------------------

[1763] Salesperson: Salesperson A

[1764] Count: 2

[1765] Number of deals: 0

[1766] Number of orders lost: 1

[1767] Conversion rate: 0.00%

[1768] Total sales: 100,000 yen

[1769] --------------------------

[1770] Salesperson: Salesperson B

[1771] Count: 1

[1772] Number of deals: 1

[1773] Number of orders lost: 0

[1774] Closing rate: 100.00%

[1775] Total sales: \250,000

[1776] --------------------------

[1777] Such reports allow the user to easily understand the performance of each sales representative.

[1778] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1779] Step 1:

[1780] Preparing to connect to the database

[1781] The server prepares a connection to the database to retrieve sales activity data. Specifically, it sets the connection string and authentication information. This step has the following inputs and outputs:

[1782] Input: Database URL, port number, database name, username, password.

[1783] Output: A connection object to the database.

[1784] The server uses this information to prepare the database for access.

[1785] Step 2:

[1786] Retrieving data from a database

[1787] The server executes an SQL query to retrieve sales activity data from the database. This step has the following inputs and outputs:

[1788] Input: SQL query "SELECT FROM sales_activities WHERE date >= '2023-10-01'".

[1789] Output: Captured sales activity data (e.g. date, salesperson, client, status, deal amount).

[1790] The server executes the query, retrieves the required data from the database, and stores it in a temporary storage area.

[1791] Step 3:

[1792] Converting to a DataFrame

[1793] The server converts the acquired data into a data frame using the Pandas library. This step has the following inputs and outputs:

[1794] Input: Captured sales activity data.

[1795] Output: Data in dataframe format.

[1796] The server runs code like "pandas.DataFrame(data)" to convert the acquired data into a data frame.

[1797] Step 4:

[1798] Calculating aggregate metrics

[1799] The server calculates the number of deals, total sales, number of successful deals, number of lost deals, and success rate for each sales representative based on the data frame. This step has the following inputs and outputs:

[1800] Input: Sales activity data in data frame format.

[1801] Output: Aggregate metrics for each salesperson (number of opportunities, total sales, number of successful deals, number of lost deals, success rate).

[1802] Specifically, we use "groupby" to group the data by person in charge and then use the "agg" function to calculate each metric.

[1803] Step 5:

[1804] Initializing the report

[1805] The server initializes the report template. This step has the following inputs and outputs:

[1806] Input: Current date.

[1807] Output: Initial report template.

[1808] Specifically, the header part of the report is initialized as follows: "report = 'Sales Activity Report (' + today's date + ')\n--------------------------\n'".

[1809] Step 6:

[1810] Add data for each person in charge

[1811] The server adds the summary results for each person to the report. This step has the following inputs and outputs:

[1812] Input: Aggregate metrics for each sales representative (number of cases, total sales, number of successful deals, number of lost deals, success rate).

[1813] Output: A report with data for each person added.

[1814] Specifically, the report contents are updated as follows: "for rep in sales rep list: report += 'sales rep: ' + rep + '\n number: ' + total_deals[rep] + '\n number of deals: ' + succesful_deals[rep] + '\n number of lost deals: ' + lost_deals[rep] + '\n success rate: ' + success_rate[rep] + '%\n total sales amount: \' + total_amount[rep] + '\n--------------------------\n'".

[1815] Step 7:

[1816] Report output

[1817] The server saves the generated report or displays it to the user. This step has the following inputs and outputs:

[1818] Input: Completed report.

[1819] Output: A saved report file or a displayed report on the user's terminal.

[1820] Specifically, you can save it as a file using "with open('Sales Activity Report.txt', 'w') as file: file.write(report)", or in the case of a web app, you can embed it in an HTML template and display it.

[1821] (Application example 1)

[1822] 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."

[1823] In modern factories, managing production line efficiency and maintenance activities is becoming increasingly complex. Furthermore, manually conducting real-time monitoring and detailed data analysis for each worker takes time and effort. This makes it difficult to timely schedule maintenance, reduce production efficiency, and detect defects early. To solve this problem, automated data acquisition and analysis, along with automated report generation, is required, rather than relying on traditional methods.

[1824] 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.

[1825] In this invention, the server includes means for automatically acquiring work activity data, means for analyzing and aggregating the acquired data, means for generating reports based on the analysis and aggregation results, means for displaying data in real time, and means for saving and exporting the reports. This enables detailed management of the efficiency and maintenance activities of each production line in a factory, and automation of data analysis for each person in charge, enabling real-time monitoring and rapid report generation.

[1826] "Work activities" refers to all work and operations that take place on a production line.

[1827] "Means for automatically acquiring data" refers to a system for collecting work activity data in real time through sensors and IoT devices.

[1828] "Means for analyzing and aggregating data" refers to a system for analyzing and aggregating collected data using Pandas or a similar data processing library.

[1829] "Means for generating reports" refers to a system for creating reports based on the analysis and aggregation results in a format that can be viewed and shared by users.

[1830] "Means for displaying data in real time" refers to a system for immediately displaying acquired data and analysis results on a user interface or display.

[1831] "Means for saving and exporting reports" refers to a system for saving generated reports as files and transferring / sharing them to other systems or devices as needed.

[1832] The term "data frame format" refers to a two-dimensional, labeled data structure consisting of rows and columns, which is useful for data analysis and manipulation.

[1833] To implement this invention, it is necessary to develop the following specific system configuration and program: This system automatically acquires data on work activities within a factory, analyzes and aggregates it, and generates a report based on the results.

[1834] System configuration and hardware / software used

[1835] 1. Data Acquisition Phase:

[1836] Hardware:

[1837] Smart glasses (with AR function)

[1838] Sensors and IoT Devices

[1839] software:

[1840] Database (SQLite)

[1841] Python

[1842] 2. Data analysis and aggregation phase:

[1843] software:

[1844] Pandas (Python library)

[1845] 3. Reporting Phase:

[1846] software:

[1847] Python (report generation)

[1848] Text export function

[1849] Natural language description of the process

[1850] The server first acquires real-time data on work activities using smart glasses and sensors. The data includes the worker, type of work (e.g., maintenance, regular work), work status (e.g., completed, failed), and time information. The acquired data is then stored in an SQLite database.

[1851] The server then uses Python to retrieve the data from the SQLite database and converts it into a data frame using the Pandas library, making it easy to analyze and aggregate the work done by each worker in detail.

[1852] To get specific metrics, we calculate the following data for each rep:

[1853] Number of tasks (total_tasks): The number of tasks performed by each user.

[1854] Maintenance Count (maintenance_count): The number of maintenance tasks.

[1855] Failure count (failure_count): The number of failed operations.

[1856] Success Rate (success_rate): The percentage of successful operations divided by the total number of operations.

[1857] Based on these aggregated results, the server generates a report detailing the number of tasks, maintenance tasks, failures, and success rates for each technician. The report is displayed in real time on the smart glasses' display and can also be saved and exported as a file.

[1858] Specific examples

[1859] For example, suppose the following data is retrieved:

[1860] Date: 2023-10-01, Person in Charge: X, Work Type: Maintenance, Status: Completed

[1861] Date: 2023-10-02, Person in Charge: Y, Work Type: Regular Work, Status: Failed

[1862] Date: 2023-10-03, Person in Charge: X, Work Type: Regular Work, Status: Completed

[1863] The system processes this data and generates a report like this:

[1864] Factory activity report (2023-10-06)

[1865] --------------------------

[1866] Contact: X

[1867] Number of tasks: 2

[1868] Number of maintenance: 1

[1869] Number of failures: 0

[1870] Success rate: 100.00%

[1871] --------------------------

[1872] Person in charge: Y

[1873] Number of tasks: 1

[1874] Maintenance count: 0

[1875] Number of failures: 1

[1876] Success rate: 0.00%

[1877] --------------------------

[1878] Prompt Sentence Examples

[1879] Using the factory activity report generation program, please run the code that processes the data on the number of tasks, maintenance tasks, failures, and success rates for each production line employee on "2023-10-01."

[1880] Input example: Factory data for 2023-10-01

[1881] Output example: Factory activity report for each person in charge

[1882] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1883] Step 1:

[1884] Data Acquisition

[1885] The server uses smart glasses and sensors to acquire work activity data in real time. This data includes the worker, type of work (maintenance, regular work, etc.), work status (completed, failed, etc.), and time information. The acquired data is stored in an SQLite database. Specifically, the server reads signals from the sensors and writes them to the database.

[1886] Input: Real-time data from smart glasses and sensors

[1887] Output: Work activity data stored in a SQLite database

[1888] Step 2:

[1889] Data loading

[1890] The server uses a Python program to run queries to read activity data from an SQLite database, using Python's sqlite3 library to establish a database connection and retrieve the required data.

[1891] Input: SQLite database

[1892] Output: Work activity data converted to a Pandas dataframe

[1893] Step 3:

[1894] Data Conversion

[1895] The server uses the Pandas library to convert the data into a data frame, which makes it easier to manipulate and analyze. Specific operations include converting SQL result sets into Pandas data frames.

[1896] Input: Data retrieved from a SQLite database

[1897] Output: Work activity data in Pandas dataframe format

[1898] Step 4:

[1899] Data analysis and aggregation

[1900] The server calculates the following metrics for each worker based on the data frame:

[1901] Number of tasks (total_tasks): The number of tasks performed by each user

[1902] Maintenance Count (maintenance_count): Number of maintenance operations

[1903] Failure count (failure_count): The number of failed operations

[1904] Success Rate (success_rate): The number of successful operations divided by the total number of operations (as a percentage)

[1905] Specifically, this includes aggregating data frames using Pandas' groupby and agg methods.

[1906] Input: Work activity data in a data frame format

[1907] Output: Aggregated data for each person in charge

[1908] Step 5:

[1909] report generation

[1910] The server generates a report based on the aggregated results. The report includes the number of tasks, maintenance tasks, failures, and success rates for each person in charge. It uses Python string manipulation to generate a report in a format that meets the user's needs.

[1911] Input: Aggregation result data for each person

[1912] Output: Text of the generated report

[1913] Step 6:

[1914] View and save reports

[1915] The server displays the generated report and saves it as a file. This includes displaying the report in real time on the smart glasses display and saving the report as a text file using Python file operations.

[1916] Input: Generated report text

[1917] Output: Report displayed on smart glasses display, saved text file

[1918] 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.

[1919] To implement this invention, it is necessary to develop a program with the following system configuration and functions. This system automatically acquires sales activity data, analyzes and aggregates it, and generates reports based on the results. It also incorporates an emotion engine that recognizes user emotions, and collects and analyzes emotion data.

[1920] System Configuration and Functions

[1921] 1. Data Acquisition Phase

[1922] 1.1. Preparing to connect to the database

[1923] The server establishes a connection to the database, using the connection string and authentication information to establish a secure connection.

[1924] 1.2. Retrieving Data from the Database

[1925] The server retrieves sales activity data from the database, including the date, salesperson, client, status (prospect, won, lost), and deal amount.

[1926] 1.3. Acquiring Emotion Data

[1927] The device collects the user's emotional data, including the user's tone of voice, facial expressions, and input text, and this data is analyzed by the emotion engine.

[1928] 2. Data analysis and aggregation phase

[1929] 2.1. Converting to DataFrame

[1930] The server converts the acquired sales data into a data frame using the Pandas library, which makes it easier to manipulate and analyze the data.

[1931] 2.2. Calculation of aggregate metrics

[1932] The server calculates the following metrics for each salesperson based on the data frame:

[1933] Number of deals (total_deals): The number of deals handled by each agent.

[1934] Total Amount: The total amount of deals closed by each rep.

[1935] Successful Deals: The number of successful deals each rep has closed.

[1936] Lost Deals (lost_deals): The number of deals that each rep did not close.

[1937] Success rate (success_rate): The percentage of successful deals divided by the total number of deals.

[1938] 2.3. Analysis of Emotion Data

[1939] The emotion engine analyzes the collected emotion data and evaluates the user's emotional state based on it, which is then added to the analysis of sales activities.

[1940] 3. Report preparation phase

[1941] 3.1. Report Initialization

[1942] The server initializes the report template, setting the dates and dividing lines, and preparing to add data for each person.

[1943] 3.2. Adding data for each person in charge

[1944] The server adds the summary results for each sales representative to the report, including the representative's name, number of opportunities, number of successful and unsuccessful sales, success rate, and total sales.

[1945] 3.3. Reflecting Emotional Data

[1946] The server then reflects the user's emotional data in a report, allowing users to visually understand how their emotional state is affecting their sales activities.

[1947] 3.4. Report Output

[1948] The server provides the generated report to the user, who can then view it or save it as a file for review.

[1949] Specific examples

[1950] For example, suppose the following sales activity data is stored in a database:

[1951] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[1952] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[1953] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[1954] Also, suppose the following sentiment data is collected:

[1955] Date: 2023-10-01, User: A, Sentiment: Positive

[1956] Date: 2023-10-02, User: B, Sentiment: Neutral

[1957] Date: 2023-10-03, User: A, Sentiment: Negative

[1958] The system processes this data and generates a report like this:

[1959] Sales Activity Report (2023-10-06)

[1960] --------------------------

[1961] Salesperson: A

[1962] Count: 2

[1963] Number of deals: 0

[1964] Number of orders lost: 1

[1965] Conversion rate: 0.00%

[1966] Total sales: 100,000 yen

[1967] Emotional state: positive, negative

[1968] --------------------------

[1969] Salesperson: B

[1970] Count: 1

[1971] Number of deals: 1

[1972] Number of orders lost: 0

[1973] Closing rate: 100.00%

[1974] Total sales: \250,000

[1975] Emotional State: Neutral

[1976] --------------------------

[1977] This report provides useful information for users to easily understand the results and progress of sales activities, as well as their emotional state.

[1978] The processing flow will be explained below.

[1979] Step 1:

[1980] The server establishes a connection to the database, using a connection string and authentication information to establish a secure connection and make the database accessible.

[1981] Step 2:

[1982] The server retrieves sales activity data from the database by using an SQL query to extract the required fields from the database (e.g., date, salesperson, client, status, and deal amount).

[1983] Step 3:

[1984] The device collects the user's emotional data, including by using a microphone and camera to capture voice tone and facial expressions in real time, and by analyzing emotions from input text. This data is sent to the emotion engine.

[1985] Step 4:

[1986] The server converts the acquired sales data into a Pandas data frame format, which makes it easier to manipulate the data and perform various analyses.

[1987] Step 5:

[1988] The server groups the data frame by sales representative. In this step, we use the "groupby" function of the data frame to group the data for each sales representative into a separate group.

[1989] Step 6:

[1990] The server calculates the following metrics for each sales representative based on the grouped data:

[1991] Number of deals (total_deals): Counts the number of deals handled by each person.

[1992] Total Amount: Calculates the total amount of deals closed by each salesperson.

[1993] Successful_deals: Counts the number of successful deals each rep has closed.

[1994] Lost Deals (lost_deals): Counts the number of deals that each rep did not close.

[1995] Success Rate: Divide the number of successful deals by the total number of opportunities and convert the result into a percentage.

[1996] Step 7:

[1997] The emotion engine analyzes the collected emotion data and assesses the user's emotional state using machine learning models and natural language processing techniques to identify positive, negative, or neutral emotional states.

[1998] Step 8:

[1999] The server integrates the aggregated sales data with the analysis results of the emotion engine, allowing the system to understand not only the performance of each sales representative but also their emotional state at that time.

[2000] Step 9:

[2001] The server initializes a report template, which contains basic elements such as dates, separators, and headings.

[2002] Step 10:

[2003] The server adds the results of each sales representative's analysis to the report, including the representative's name, number of deals, number of successful deals, number of lost deals, success rate, total sales amount, and emotional state.

[2004] Step 11:

[2005] The server provides the generated report to the user. The report is displayed in a format that the user can view, and can also be saved as a file if necessary. The user can use this report to comprehensively analyze the performance and emotional state of their sales activities.

[2006] Example 2

[2007] 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."

[2008] Conventional sales activity management systems have problems in that they are insufficiently automated in the acquisition and analysis of sales activity data, and can only generate reports based on simple numerical data without taking the user's emotional state into account. This makes it difficult to grasp the overall picture of sales activity results and progress, and makes it impossible to evaluate the impact of sales representatives' motivation and emotional state on sales results. This invention aims to solve these problems by centrally managing and analyzing sales activity data and user emotional data, and generating more comprehensive and detailed reports.

[2009] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[2010] In this invention, the server includes means for automatically acquiring sales activity data, means for collecting and analyzing the user's emotional state, and means for analyzing and aggregating the acquired sales activity data and emotional data. This makes it possible to comprehensively grasp the results and progress of sales activities and the user's emotional state, and to evaluate the impact that changes in the motivation and emotions of specific sales representatives have on sales results.

[2011] "Sales activity data" refers to information about various sales activities conducted by sales representatives, specifically including the date, sales representative name, client name, status (prospect, won, lost), and contract amount.

[2012] "Emotional state" is information that indicates the user's mental and emotional state, specifically, emotional states such as positive, negative, neutral, etc. that are analyzed from voice tone, facial expressions, input text, etc.

[2013] A "report" is a document created based on the acquired and analyzed data, and includes information regarding the number of opportunities, total sales, number of successful deals, number of lost deals, success rate, and emotional state for each sales representative.

[2014] A "database" is a system for efficiently and effectively storing and managing large amounts of data, and is built using technologies such as SQL and NoSQL.

[2015] A "data frame" is a two-dimensional data structure consisting of rows and columns for manipulating and analyzing data, and is a format used in libraries such as Pandas.

[2016] "Aggregate metrics" are statistical information calculated based on a specific data set, such as the number of deals, total sales, number of successful deals, number of lost deals, and success rate.

[2017] A "template" is a format and format definition used to create a report, and is a structure for automatically arranging data.

[2018] "User" refers to the entity that uses the system to manage and analyze sales activity data and generate reports.

[2019] The present invention is a system that manages sales activity data and the emotional state of users in an integrated manner, analyzes and aggregates the data, and generates detailed reports based on the results. The following describes an embodiment of the present invention.

[2020] The system consists of a server, terminals, and users. To name the specific hardware and software, the server uses MySQL or PostgreSQL as a database management system (DBMS), the Pandas library for data analysis, and Librosa or TensorFlow for sentiment analysis. Meanwhile, the terminals use computers or smartphones equipped with microphones and cameras to collect voice and facial expressions, and users include sales representatives and system administrators.

[2021] Data Acquisition Phase

[2022] The server first establishes a connection to the database. After a secure connection is established using a connection string and authentication information, it executes an SQL query to retrieve data about sales activities. For example, a query like "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'" is used. This data includes the date, sales representative, client, status (prospect, won, lost), and deal amount.

[2023] The device collects the user's emotional data. Specifically, it uses a microphone and camera to capture the user's voice tone and facial expressions, and analyzes them using natural language processing and facial recognition algorithms. During this process, it extracts voice features using the Librosa library and classifies emotions using TensorFlow or PyTorch. This allows the user's emotional state to be evaluated as positive, negative, neutral, etc.

[2024] Data analysis and aggregation phase

[2025] The server converts the acquired sales data into a data frame format using the Pandas library. For example, it executes the code "pandas.DataFrame(data)" to convert list or dictionary type data into a data frame. Next, it calculates aggregate indicators based on the data frame. Specifically, it uses the method "dataframe.groupby('Rep')" to calculate the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each representative. These results are stored in a new data frame to make them easier to handle visually.

[2026] Reporting phase

[2027] The server initializes the report template. It reads the template file and automatically inserts the date and separator lines. For this purpose, a Python report generation library (such as ReportLab or Jinja2) is used. Next, the aggregated data and emotion data are inserted into the appropriate positions in the template, and a report is generated. For example, information such as "User A's emotional state: positive, negative" is added to the template.

[2028] Finally, the server provides the generated report to the user, saving it in PDF or HTML format and integrating with web frameworks such as Flask or Django to allow the user to download and view it.

[2029] Specific examples

[2030] For example, suppose the following sales activity data is stored in a database:

[2031] Date: 2023-10-01, Salesperson: A, Client: Company X, Status: Prospect, Contract Amount: 100,000 yen

[2032] Date: 2023-10-02, Salesperson: B, Client: Company Y, Status: Order placed, Contract amount: 250,000 yen

[2033] Date: 2023-10-03, Salesperson: A, Client: Company Z, Status: Lost, Contract Amount: 0 yen

[2034] Also, suppose the following sentiment data is collected:

[2035] Date: 2023-10-01, User: A, Sentiment: Positive

[2036] Date: 2023-10-02, User: B, Sentiment: Neutral

[2037] Date: 2023-10-03, User: A, Sentiment: Negative

[2038] The system processes this data and generates a report like this:

[2039] Sales Activity Report (2023-10-06)

[2040] --------------------------

[2041] Salesperson: A

[2042] Count: 2

[2043] Number of deals: 0

[2044] Number of orders lost: 1

[2045] Conversion rate: 0.00%

[2046] Total sales: 100,000 yen

[2047] Emotional state: positive, negative

[2048] --------------------------

[2049] Salesperson: B

[2050] Count: 1

[2051] Number of deals: 1

[2052] Number of orders lost: 0

[2053] Closing rate: 100.00%

[2054] Total sales: \250,000

[2055] Emotional State: Neutral

[2056] --------------------------

[2057] This report provides useful information for users to get a comprehensive understanding of sales performance, progress, and emotional state.

[2058] Prompt Sentence Examples

[2059] An example of a prompt to input to a generative AI model is:

[2060] "Generate a report summarizing sales activity data. Include the number of opportunities, wins, losses, win rates, total sales, and emotional state for each sales rep."

[2061] The flow of the identification process in the second embodiment will be described with reference to FIG.

[2062] Step 1: Establishing a Database Connection

[2063] The server reads the database connection information from a configuration file and environment variables, specifically the database URL, username, and password from an external file, and constructs a connection string.

[2064] Input: Connection information from a configuration file or environment variables (e.g. URL, username, password)

[2065] Process: Establish a database connection using SQLAlchemy or JDBC libraries.

[2066] Output: A database connection object if successful, or an error message if unsuccessful.

[2067] Step 2: Capture sales activity data

[2068] The server uses the established database connection to issue an SQL query to retrieve sales activity data. For example, it executes the query "SELECT FROM sales_data WHERE date BETWEEN '2023-10-01' AND '2023-10-07'".

[2069] Input: Database connection object, SQL query

[2070] Processing: Execute the query and store the retrieved data in a data structure internal to the program (e.g., a list or dictionary).

[2071] Output: Acquired sales activity data.

[2072] Step 3: Obtaining emotion data

[2073] The device collects the user's emotional data by capturing the user's voice tone and facial expressions using the device's microphone and camera, extracting voice features using the Librosa library, and classifying emotions using TensorFlow.

[2074] Input: Audio data, video data

[2075] Processing: Extract features from audio data using Librosa, classify emotions using a TensorFlow model, and analyze facial expression data using OpenCV.

[2076] Output: The user's emotional state (positive, negative, neutral, etc.).

[2077] Step 4: Converting to a DataFrame

[2078] The server converts the acquired sales activity data into a data frame format using the Pandas library.

[2079] Input: Acquired sales activity data (list or dictionary format)

[2080] Processing: Convert the data into a data frame using the pandas.DataFrame constructor.

[2081] Output: Sales activity data in a Pandas dataframe.

[2082] Step 5: Calculate aggregate metrics

[2083] The server calculates aggregated indicators for each salesperson based on the data frame. The processing uses "dataframe.groupby('salesperson')" to calculate the number of cases, total sales, number of successful sales, number of lost sales, and success rate.

[2084] Input: Sales activity data in data frame format

[2085] Processing: Calculate using groupby and aggregation methods (e.g. sum, count, mean).

[2086] Output: Aggregated metrics dataframe.

[2087] Step 6: Analyze and integrate sentiment data

[2088] The server analyzes the collected emotion data and integrates it with sales activity data. The emotion data is aggregated for each sales representative and merged with the sales data.

[2089] Input: Aggregate metrics data frame, sentiment data

[2090] Processing: Use Pandas' merge method to combine the sentiment data and aggregated data.

[2091] Output: The final data frame with the emotion data integrated.

[2092] Step 7: Initialize the report

[2093] The server initializes a report template, which includes the date, headers, and separators.

[2094] Input: Date, Template File

[2095] Processing: Loads the template and sets basic information (e.g. date, title field) on it.

[2096] Output: The initialized report template.

[2097] Step 8: Add data for each contact

[2098] The server adds the aggregated sales activity and sentiment data to the report, inserting these values ​​into a section for each rep in the template.

[2099] Input: Final data frame, report template

[2100] Processing: Loop through each row of the data frame and insert the data for each assignee into the template.

[2101] Output: Report template with data for each person added.

[2102] Step 9: Reflecting Emotional Data

[2103] The server reflects the user's emotional data in the report. Specifically, it inserts the emotional data into the data section for each person in charge.

[2104] Input: Emotion data, report template

[2105] Processing: Insert the emotion data into the appropriate position in the template.

[2106] Output: A report template reflecting the sentiment data.

[2107] Step 10: Output the report

[2108] The server provides the generated report to the user and saves it in PDF or HTML format for the user to download and view.

[2109] Input: Completed report template

[2110] Processing: Render the report in PDF or HTML format, save it as a file, and optionally serve it to the user through a web framework.

[2111] Output: User viewable and downloadable report file.

[2112] (Application example 2)

[2113] 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."

[2114] In security services, to improve the efficiency and safety of staff patrol activities, it is necessary to collect and analyze activity data and emotional data in real time, allowing managers to understand the state of staff. However, conventional systems have difficulty in analyzing staff emotional states in a way that fully reflects them, which has led to issues in managing the working environment and motivation.

[2115] The identification processing by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for automatically acquiring sales activity and behavior data, means for analyzing and aggregating the acquired sales activity and behavior data, means for generating a report based on the analysis and aggregation results, means for analyzing the acquired emotion data and adding the analysis results to the analysis of the sales activity and behavior data, and means for the emotion data to include the emotional state of the target person. This makes it possible to analyze the patrol activities and emotional states of security staff in real time, allowing managers to take prompt action.

[2116] "Sales activity data" is information related to the specific sales process carried out by the sales department, and includes the number of cases, sales amount, number of successful deals, number of lost deals, and the like.

[2117] "Behavior data" is recorded data of a series of actions and activities performed by a subject, and includes patrol routes, checkpoints, interactions, etc.

[2118] "Emotional data" refers to data that indicates a subject's emotional state and is analyzed based on vocal tone, facial expressions, user input, and the like.

[2119] "Means for acquiring" refers to the technical means for collecting data from external sources, including sensors, database connection modules, API interfaces, etc.

[2120] "Means of analysis and aggregation" refers to the technical means of analyzing collected data using statistical methods and algorithms and compiling them into specific indicators.

[2121] "Means for generating reports" means the technical means for organizing and displaying information visually in text and / or graph format based on the analyzed and aggregated data.

[2122] The "means for adding the analysis results to the analysis of sales activity and behavior data" refers to a technical means for integrating the analysis results of emotion data with other activity data and compiling them into a series of analysis results.

[2123] "Targeted Persons" are people monitored and managed by the system, including security staff and sales personnel.

[2124] The system for implementing this invention collects and analyzes the patrol activities and emotional states of security service staff in real time, and generates reports. The hardware and software required to configure this system, as well as specific processing procedures, are described below.

[2125] The main components of the system are the server, the terminals, and the users, each of which plays a specific role.

[2126] Hardware and software used

[2127] Hardware

[2128] Smart glasses: Worn by staff, they collect audio and video in real time.

[2129] Database server: stores collected data.

[2130] Server: Acquires, analyzes, aggregates, and generates reports on data.

[2131] software

[2132] Pandas: A Python library for processing data in dataframe format.

[2133] Emotion recognition libraries (e.g. emotion_recognition): Libraries for parsing emotion data.

[2134] Report Generation Module: A module that generates reports based on the collected data.

[2135] Processing Details

[2136] 1. Data Acquisition Phase

[2137] The server first obtains real-time emotional and behavioral data from the devices (smart glasses), including staff patrol routes, checkpoints, and interactions, and also obtains static sales activity data from the database server.

[2138] 2. Data analysis and aggregation phase

[2139] The server converts the collected data into a data frame using the Pandas library, then calculates metrics such as patrol coverage and number of interactions for each security staff member, and analyzes the emotion data using an emotion recognition library. The analysis results are then integrated with behavioral data to produce a comprehensive analysis.

[2140] 3. Report preparation phase

[2141] The server then initializes a report template and generates a report by combining the aggregated data and emotion data, which can then be viewed by managers in real time, forming a feedback loop.

[2142] Specific examples

[2143] For example, suppose data on security staff member A is collected as follows:

[2144] Patrol route A, 10 checkpoints, 3 interactions.

[2145] The emotional data shows a positive rate of 70% and a negative rate of 20% (on average).

[2146] Based on this data, the system can perform an analysis using the following prompt:

[2147] Design an application that uses sales activity data and sentiment data to understand security staff patrol coverage and sentiment in real time, generating reports to help prevent problems before they occur.

[2148] This allows managers to quickly implement measures to effectively manage and refresh security staff, and is extremely effective in improving the efficiency of security services and the safety of staff.

[2149] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[2150] Step 1:

[2151] In the data acquisition phase, the terminal (smart glasses) acquires data on the security staff's patrol routes, checkpoints, and interactions. It also captures audio and video in real time and collects emotional data. This collected data is sent to a database server via wireless communication. The input is the staff's movements and emotional state, and the output is the patrol routes, checkpoints, interactions, audio, and facial expression data. This allows the necessary data to be collected in real time.

[2152] Step 2:

[2153] The server obtains patrol route, checkpoint, and interaction data from the database server. It also collects emotion data from the devices (smart glasses) and stores it in the database. The input is movement data obtained from the database and emotion data obtained from the devices, and the output is movement data and emotion data in Pandas data frame format. This converts the collected data into a unified format.

[2154] Step 3:

[2155] The server uses the Pandas library to convert the collected behavioral data into a data frame format and calculates metrics such as patrol coverage, number of checkpoints, and number of interactions for each security staff member. The input is behavioral data in a unified format, and the output is aggregated metrics for each security staff member. This quantifies the performance of each staff member.

[2156] Step 4:

[2157] The server uses an emotion recognition library to analyze the emotional data collected from the devices and determine their emotional state (positive, negative, neutral, etc.). The input is the emotional data obtained from the devices, and the output is the emotional state as a result of the analysis. This allows a clear evaluation of the emotional state of the staff.

[2158] Step 5:

[2159] The server integrates the analyzed emotion data with the analysis results of the movement data to create a comprehensive analysis result. The input is the analysis results of the movement data and the emotion data, and the output is the integrated analysis result. This makes it possible to evaluate from both the movement and emotion perspectives.

[2160] Step 6:

[2161] The server initializes daily, weekly, and monthly report templates based on the integrated analysis results, and generates reports by combining the aggregated data and sentiment data. The input is the integrated analysis results, and the output is a formatted report. This provides information in a format that is easily understandable for administrators.

[2162] Step 7:

[2163] The server notifies the manager of the generated report in real time, forming a feedback loop. The manager can understand the status of the staff based on the report and take necessary measures promptly. The input is a formatted report, and the output is a notification to the manager. This allows for effective management of staff and early response.

[2164] 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.

[2165] 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.

[2166] 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.

[2167] 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.

[2168] 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.

[2169] 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.

[2170] 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).

[2171] 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.

[2172] 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."

[2173] 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.

[2174] 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).

[2175] 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.

[2176] 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.

[2177] 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.

[2178] 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.

[2179] 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.

[2180] 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.

[2181] 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.

[2182] 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.

[2183] 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.

[2184] 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.

[2185] The following is further disclosed regarding the above embodiment.

[2186] (Claim 1)

[2187] A means for automatically capturing sales activity data;

[2188] means for analyzing and aggregating the data obtained;

[2189] A system including means for generating reports based on the analysis and aggregation results.

[2190] (Claim 2)

[2191] 10. The system of claim 1, wherein the sales activity data is obtained from a database.

[2192] (Claim 3)

[2193] 2. The system according to claim 1, wherein the analysis and aggregation means processes the data in a data frame format and calculates the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each sales representative.

[2194] "Example 1"

[2195] (Claim 1)

[2196] A means for automatically capturing sales activity data;

[2197] A means for converting the acquired data into a data frame format;

[2198] A means to calculate the number of cases, total sales, number of successful contracts, number of lost contracts, and success rate for each sales representative based on the data frame;

[2199] a means for generating a report based on the analysis and aggregation results;

[2200] The system includes a means for storing or displaying the generated reports.

[2201] (Claim 2)

[2202] 10. The system of claim 1, wherein the business activity data is obtained from a storage device.

[2203] (Claim 3)

[2204] The system of claim 1 processes the data in a data frame format and calculates aggregate metrics for each sales representative.

[2205] "Application Example 1"

[2206] (Claim 1)

[2207] means for automatically capturing work activity data;

[2208] means for analyzing and aggregating the data obtained;

[2209] a means for generating a report based on the analysis and aggregation results;

[2210] a means of displaying data in real time;

[2211] A system that includes a means to save and export reports.

[2212] (Claim 2)

[2213] 10. The system of claim 1, wherein the work activity data is obtained from a database.

[2214] (Claim 3)

[2215] 2. The system according to claim 1, wherein the analysis and aggregation means processes the data in a data frame format and calculates the number of operations, number of maintenances, number of failures, and success rate for each worker.

[2216] "Example 2: Combining Emotion Engines"

[2217] (Claim 1)

[2218] A means for automatically capturing sales activity data;

[2219] means for collecting and analyzing the user's emotional state;

[2220] means for analyzing and aggregating the acquired sales activity data and sentiment data;

[2221] a means for generating a report based on the analysis and aggregation results;

[2222] The system includes a means for providing the generated report to a user.

[2223] (Claim 2)

[2224] 10. The system of claim 1, wherein the sales activity data is obtained from a database.

[2225] (Claim 3)

[2226] The system according to claim 1, wherein the analysis and aggregation means processes the data in a data frame format, calculates the number of cases, total sales, number of successful deals, number of lost deals and success rate for each sales representative, and evaluates the user's emotional data.

[2227] "Application example 2 when combining emotion engines"

[2228] (Claim 1)

[2229] means for automatically capturing business activity and operational data;

[2230] means for analyzing and aggregating the acquired business activity and operational data;

[2231] a means for generating a report based on the analysis and aggregation results;

[2232] means for analyzing the acquired emotion data and adding the analysis results to an analysis of sales activity and behavior data;

[2233] means for receiving said emotional data including an emotional state of a subject;

[2234] A system including:

[2235] (Claim 2)

[2236] 10. The system of claim 1, wherein the business activity and operational data is obtained from a database.

[2237] (Claim 3)

[2238] 2. The system according to claim 1, wherein the analysis and aggregation means processes the data in a data frame format and calculates the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each person. [Explanation of symbols]

[2239] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for automatically capturing sales activity data; means for analyzing and aggregating the data obtained; and means for generating a report based on the analysis and aggregation results.

2. 10. The system of claim 1, wherein the sales activity data is obtained from a database.

3. 2. The system according to claim 1, wherein the analysis and aggregation means processes the data in a data frame format and calculates the number of cases, total sales, number of successful deals, number of lost deals, and success rate for each sales representative.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A