system

A system automates the detection of UI changes by comparing user-defined monitoring points with retrieved data from web pages and applications, enhancing efficiency and reducing human error in quality assurance.

JP2026062137APending Publication Date: 2026-04-09SOFTBANK 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-09-30
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Manual checking of UI changes in applications, operating systems, and web pages is resource-intensive and prone to human errors, leading to delays and inefficiencies in update checks and quality assurance.

Method used

A system that allows users to input change monitoring points, which are sent to a server that periodically retrieves data from target web pages or applications, compares it with the monitoring points using optical character recognition, image recognition, and DOM analysis, and notifies users of discrepancies via email, dashboards, or push notifications.

Benefits of technology

Automates the detection of UI changes, reducing human error and improving efficiency in update checks while facilitating early defect detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026062137000001_ABST
    Figure 2026062137000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for the user to input change monitoring points, Means for transmitting the aforementioned monitoring point to a server, The server has a means of obtaining data from the target web page or application, The server has means for comparing the acquired data with the aforementioned monitoring points, The server provides a means to notify the user of the comparison results, A system that includes this.
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 Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of the chatbot's character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] When making UI changes to applications, operating systems, web pages, etc., it requires a great deal of resources for humans to manually check each subtle change in text, images, layouts, etc. one by one, and there is also a problem that it is easy to cause a delay in discovering defects due to human errors. As a result, there are problems such as an increase in the time and effort required for update checks and a decrease in the efficiency of quality assurance. Therefore, there is a need for a system that can automatically detect these UI changes and notify them quickly.

Means for Solving the Problems

[0005] This invention provides a means for a user to input change monitoring points and send them to a server. The server periodically or as needed retrieves data (HTML source or screenshots) of the target web page or application and compares the retrieved data with the monitoring points. If a discrepancy is found as a result of the comparison, the server notifies the user of the details. This system enables automatic monitoring of changes in text, images, and layout, and allows for the rapid detection of defects. This improves the efficiency of update checks and reduces human error.

[0006] A "user" refers to a person or organization that uses the system to input monitoring points and receive confirmations and notifications of changes.

[0007] A "server" refers to a computer system that receives monitoring point information sent by users, retrieves data from target web pages and applications, and performs comparison, analysis, and notification.

[0008] A "change monitoring point" refers to information that a user sets up to detect changes in specific text, images, or layout elements.

[0009] "Means of acquisition" refers to the methods and tools used to collect the HTML source of the target web page or screenshots of the application.

[0010] "Comparison means" refers to algorithms or tools used to compare acquired data with information from change monitoring points and determine whether they match or not.

[0011] "Optical character recognition" refers to a technology that reads characters from images or screenshots and identifies them as strings of text.

[0012] An "image recognition algorithm" refers to a technology that detects specific shapes or patterns from image data and compares them to pre-set images.

[0013] "Regularly" refers to something that is performed automatically at a set interval.

[0014] "Notification methods" refer to methods such as email, dashboards, and push notifications used to inform users of comparison results.

[0015] "HTML source code" refers to the code written in hypertext markup language that makes up a web page, defining the content and structure of the page.

[0016] A "screenshot" refers to data captured as an image of the screen display of an application or web page.

[0017] A "report" is a document that summarizes the results of comparing monitoring points and acquired data, including whether or not changes have occurred and detailed information.

[0018] "Automation tools" refer to software or scripts that perform specific operations or processes without human intervention. [Brief explanation of the drawing]

[0019] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7]It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.

Mode for Carrying Out the Invention

[0020] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

[0021] First, the language used in the following description will be explained.

[0022] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), and APU (Accelerated Processing Unit).

[0023] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

[0024] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.

[0025] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0027] [First Embodiment]

[0028] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

[0029] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0030] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0031] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.

[0032] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0033] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0034] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

[0036] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0037] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0038] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0039] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".

[0040] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data (HTML source or screenshots) of the target web page or application and compares the retrieved data with the monitoring points. If the results do not match, the server notifies the user of the details. This mechanism enables efficient monitoring of UI changes in applications and web pages, and facilitates the early detection of defects.

[0041] Program Processing Overview

[0042] 1. User input of monitoring points

[0043] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (strings, images, layout elements).

[0044] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0045] 2. Data Acquisition

[0046] Server: Uses a scheduler to retrieve data from the target web page or application periodically or trigger-based.

[0047] For web pages: Issue an HTTP request and download the HTML source.

[0048] For applications: Use an automated tool to take screenshots.

[0049] 3. Comparison with monitoring points

[0050] Server: Compares the acquired data with the monitoring points.

[0051] Text checking: Optical character recognition (OCR) is used to extract text from the screenshot and compare it to the expected value.

[0052] Image check: The image in the screenshot, obtained using an image recognition algorithm, is compared to a default image.

[0053] Layout check: Perform DOM analysis to verify that the placement of elements matches the expected positions.

[0054] 4. Notification of Results

[0055] Server: Analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details. Notification methods include email, dashboard, and push notifications.

[0056] Terminal: Displays notifications received from the server to the user.

[0057] Specific example

[0058] Example 1: Monitoring changes to web page heading text

[0059] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0060] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0061] Example 2: Monitoring changes in application button positions

[0062] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0063] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Verify that it is in the expected location and notify the user if it is not.

[0064] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0065] The following describes the processing flow.

[0066] Step 1:

[0067] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0068] Step 2:

[0069] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[0070] Step 3:

[0071] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[0072] Step 4:

[0073] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[0074] Step 5:

[0075] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[0076] For web pages: Issue an HTTP request and retrieve the HTML source.

[0077] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0078] Step 6:

[0079] Server: Analyzes the acquired data and compares it with the monitoring points.

[0080] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value.

[0081] For image checking: The acquired screenshot and the expected image are compared using an image recognition algorithm (e.g., OpenCV).

[0082] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement.

[0083] Step 7:

[0084] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0085] Step 8:

[0086] Server: Based on the generated report, it sends notifications to the user. Notification methods include email, dashboard display, and push notifications.

[0087] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0088] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0089] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0090] Step 9:

[0091] User: Receive notifications and review monitoring results. Take corrective or additional actions as needed.

[0092] (Example 1)

[0093] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0094] Traditional change monitoring systems require users to manually check the status of web pages and applications, which is inefficient and makes it difficult to overlook changes or detect problems early. Furthermore, managing multiple monitoring points simultaneously requires significant human resources and time.

[0095] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0096] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to periodically or trigger-based acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to perform the comparison by optical character recognition, image recognition, or DOM analysis, means for the server to notify the user of the comparison results, and means for the terminal to display the notification received from the server to the user. This makes it possible to automatically detect changes to the target web page or application and notify the user quickly and accurately.

[0097] A "user" is someone who uses the system by operating the system's administration screen or dedicated application and entering change monitoring points.

[0098] A "change monitoring point" refers to detailed information about a web page that a user wants to monitor, such as its URL, application path, specific strings of text, images, or layout elements.

[0099] A "server" is a device or system that receives monitoring points from users, retrieves data from the target web page or application, compares it with the monitoring points, and notifies the user of the results.

[0100] A "terminal" is a device operated by the user, which receives input from monitoring points and notifications from the server and displays them to the user.

[0101] "Data acquisition means" refers to the means by which a server periodically or trigger-based acquires data such as the HTML source of a target web page or screenshots of an application.

[0102] "Comparison means" refers to methods for verifying whether data acquired by a server matches data from a change monitoring point, and includes technologies such as optical character recognition, image recognition, and DOM analysis.

[0103] "Notification methods" refer to the means by which the server informs the user of the comparison results, and include email, dashboards, push notifications, etc.

[0104] Optical Character Recognition (OCR) is a technology that extracts characters from screenshots and compares those characters to the expected values ​​of monitoring points.

[0105] "Image recognition" is a technology that identifies images within a captured screenshot and compares them to the expected images of the monitoring point.

[0106] "DOM analysis" is a technique that analyzes the HTML source of a web page to verify whether the placement of elements matches the expected positions.

[0107] This invention is a system for automatically monitoring changes to web pages and applications and notifying users. Specific embodiments for carrying out this invention are described below.

[0108] User-configured monitoring points

[0109] Users input change monitoring points using the system's administration screen or a dedicated application. For example, they input the URL of the web page they want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). The entered information is sent from the terminal to the server in real time. The terminals used in this process include browsers and mobile applications.

[0110] Data acquisition by the server

[0111] The server uses a scheduler to periodically or trigger-based retrieve data from target web pages or applications. For web pages, it issues HTTP requests to download the HTML source. For applications, it uses automation tools (e.g., Selenium) to take screenshots.

[0112] Data comparison

[0113] The server compares the acquired data with the monitoring points. Specifically, it uses the following method:

[0114] Text checking: Use an Optical Character Recognition (OCR) tool (e.g., Tesseract) to extract text from screenshots and compare it to the expected values ​​of the monitoring points.

[0115] Image check: Compare the image in the screenshot, obtained using an image recognition algorithm (e.g., OpenCV), with the expected image.

[0116] Layout check: Perform DOM analysis to verify that the placement of elements on the webpage matches the expected positions.

[0117] Notification of results

[0118] The server analyzes the comparison results, and if a discrepancy is detected, it notifies the user of the details. Notification methods include email, dashboard, and push notifications. When a notification occurs, the device displays the notification received from the server to the user.

[0119] Specific example

[0120] Example 1: Monitoring changes to web page heading text

[0121] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0122] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0123] Example 2: Monitoring changes in application button positions

[0124] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0125] Server: Periodically take screenshots of the application and use an image recognition algorithm (e.g., OpenCV) to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[0126] Example of a prompt

[0127] Please describe a system that notifies you when the heading text of a specific webpage changes.

[0128] "Please explain how to implement a system that notifies you when the position of a specific button in an application changes."

[0129] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0130] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0131] Step 1: The user enters the change monitoring point.

[0132] Overview: Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and details of the monitoring points (text, images, layout elements).

[0133] Input: Web page URL, application path, and monitoring point details.

[0134] Specific operation: The user launches a browser or mobile app, enters their login credentials, and accesses the system. Next, they enter the URL or application path into a formatted form and specify details for each monitoring point (e.g., heading text, button location, etc.). Once the input is complete, they press the submit button.

[0135] Output: Request data containing the input monitoring point information.

[0136] Step 2: The terminal sends the monitoring point to the server.

[0137] Overview: Sends entered monitoring point information to the server in real time.

[0138] Input: Request data (monitoring point information entered by the user).

[0139] Specific operation: The terminal creates an AJAX request and sends the user-entered monitoring point information to the server. The data sent includes the type of monitoring point (string, image, layout element) and the expected value.

[0140] Output: Monitoring point information is sent to the server.

[0141] Step 3: The server retrieves the data.

[0142] Overview: The server uses a scheduler to retrieve data from a target web page or application periodically or trigger-based.

[0143] Input: Information on monitoring points and scheduling information.

[0144] Specific operation: The scheduler on the server runs at set time intervals to trigger the specified action. Specifically, for web pages, it issues an HTTP request to download the HTML source. For applications, it uses an automation tool (e.g., Selenium) to take a screenshot.

[0145] Output: Retrieved HTML source and screenshot data.

[0146] Step 4: The server compares the data with the monitoring point.

[0147] Overview: Compare the acquired data with the monitoring points.

[0148] Input: Acquired HTML source, screenshot data, and monitoring point information.

[0149] Specific operation: The server calls a module (e.g., BeautifulSoup, Tesseract) to parse the acquired HTML source or screenshot data and compares it to the monitoring points. For string checks, an optical character recognition (OCR) tool is used to extract characters from the screenshot and compare them to the expected values ​​of the monitoring points. For image checks, an image recognition algorithm is used to compare the images in the screenshot to the expected images. For layout checks, DOM analysis is performed to check whether the elements of the web page are in the expected positions.

[0150] Output: Comparison results (match / mismatch information).

[0151] Step 5: The server notifies the user of the comparison results.

[0152] Overview: The server analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details.

[0153] Input: Comparison result data.

[0154] Specific operation: The server logs the results to a log file and initiates a process to notify the user (e.g., sending an email using SMTP, or a push notification via an API call). When a notification occurs, the server sends details to the user using the configured method (e.g., email, dashboard, or push notification).

[0155] Output: Notification message to the user.

[0156] Step 6: The device displays a notification message to the user.

[0157] Overview: The device displays notifications received from the server to the user.

[0158] Input: Notification message from the server.

[0159] Specific operation: The device receives a response from the server, parses the notification content, and informs the user via a dashboard screen, push notification, or email notification. The user checks the notification and takes the necessary action.

[0160] Output: The displayed notification message.

[0161] (Application Example 1)

[0162] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0163] In conventional systems, manual monitoring of UI changes for web pages and applications was the norm, a time-consuming and laborious process. Furthermore, early detection of anomalies was difficult, hindering system quality maintenance and cost reduction. This problem was particularly pronounced in business systems such as those in logistics centers, where real-time UI change monitoring and rapid notification were essential.

[0164] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0165] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of a target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, and means for displaying and notifying the monitoring results in real time via smart glasses. This makes it possible to monitor system and application UI changes in real time at a logistics center and to promptly notify when an anomaly occurs.

[0166] A "change monitoring point" refers to a specific element or data within a web page or application that a user chooses to monitor.

[0167] A "server" refers to a computing system that receives monitoring points sent by users, acquires and compares the target data, and notifies the user of the results.

[0168] A "web page" is a type of information content provided on the internet, specifically a document written in HTML format.

[0169] An "application" refers to a software program that runs on a computer.

[0170] "Acquisition method" refers to the function that the server uses to acquire the HTML source of a web page or screenshots of an application.

[0171] "Comparison means" refers to a function that compares acquired data with monitoring points entered by the user and confirms whether or not they match.

[0172] "Notification method" refers to a function for communicating comparison results to the user.

[0173] "Smart glasses" refer to a type of wearable device, specifically glasses-shaped devices equipped with a transparent display that show notifications and information to the user in real time.

[0174] "Real-time display" refers to a method of presenting the results of data acquisition and processing to the user immediately.

[0175] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data from the target web page or application, compares the retrieved data with the monitoring points, and notifies the user of the results. Furthermore, by displaying the notification results in real time on smart glasses, immediate action can be taken at sites such as logistics centers.

[0176] Hardware and software used

[0177] Hardware:

[0178] Smart Glasses

[0179] software:

[0180] Python

[0181] HTTP Requests Library (requests)

[0182] OCR tool (pytesseract)

[0183] Image processing library (Pillow)

[0184] Processing flow

[0185] Users log in to a dedicated management screen or application and enter monitoring points. These monitoring points include web page URLs, specific strings, images, and layout elements. These monitoring points are sent to the server in real time.

[0186] The server periodically or trigger-based, based on its configuration, retrieves the HTML source of the target webpage or screenshots of the application. For webpages, it issues an HTTP request and downloads the HTML source. For applications, it uses an automated tool to take screenshots and extracts text from the images using a Python OCR tool (pytesseract).

[0187] The server compares the acquired data with the monitoring points. This includes the following processes:

[0188] String check: Verify that the extracted text matches the expected value.

[0189] Image check: Use an image processing library to verify that a specific image in the screenshot matches the expected image.

[0190] Layout check: Performs DOM analysis of the HTML source to verify that specific elements are located in their expected positions.

[0191] Based on the comparison results, the server will notify the user of any discrepancies detected. Notification methods include email, dashboards, and push notifications. Furthermore, displaying notification results in real time via smart glasses enables rapid response in the field.

[0192] Specific example

[0193] For example, while a logistics center management staff member is wearing smart glasses and working, they can monitor in real time whether the title of the management system's login page has changed from "Management System." In this way, changes to the system and application UI are monitored, and if an anomaly is detected, a notification is immediately displayed on the smart glasses, enabling a quick response.

[0194] Example of a prompt

[0195] The system monitors whether the title of the login page has been changed from "Management System" and sends a notification immediately if a change is detected.

[0196] This invention can help maintain system quality and reduce maintenance costs in various business environments, including logistics centers.

[0197] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0198] Step 1:

[0199] Users access the management screen or a dedicated application and enter the URL or path of the web page or application they want to monitor, as well as monitoring points (e.g., important strings or image patterns).

[0200] Input: Web page URL, monitoring point information (string, image, layout element)

[0201] Output: Input information

[0202] Step 2:

[0203] The terminal transmits the entered monitoring point information to the server in real time.

[0204] Input: Monitoring point information entered by the user.

[0205] Output: Monitoring point information sent to the server

[0206] Step 3:

[0207] The server retrieves data from target web pages and applications periodically or as needed, based on a scheduler or user-initiated triggers.

[0208] Input: URL of the webpage or application path to be monitored.

[0209] Output: HTML source of the retrieved webpage or a screenshot of the application.

[0210] Step 4:

[0211] The server analyzes the HTML source of the acquired webpage or a screenshot of the application and compares it to monitoring points. For text checks, OCR is used to extract characters from the screenshot and compare them to the expected values. For image checks, an image recognition algorithm is used. For layout checks, DOM analysis is performed.

[0212] Input: Acquired HTML source, screenshots, user-entered monitoring point information

[0213] Output: Analysis result (match, mismatch)

[0214] Step 5:

[0215] Based on the comparison results, the server will notify the user of any discrepancies with the monitoring points, providing detailed information. Notification methods include email, dashboards, and push notifications.

[0216] Input: Analysis results (comparison results with monitoring points)

[0217] Output: Notifications to users (email, dashboard, push notifications)

[0218] Step 6:

[0219] The server displays notification results on smart glasses in real time, enabling immediate response on-site.

[0220] Input: Notification result

[0221] Output: Real-time display on smart glasses

[0222] Specific example:

[0223] For example, if a user sets the login page of a logistics center's management system as a monitoring point, the system will periodically retrieve the HTML source of that page, and if the characters extracted by OCR do not match "management system," the user will be notified of the mismatch and displayed on their smart glasses.

[0224] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0225] This invention combines a system in which the user inputs change monitoring points and sends them to a server with an emotion engine to recognize the user's emotions in response to notifications and optimize the response. The server periodically or as needed acquires data (HTML source or screenshots) of the target web page or application and compares the acquired data with the monitoring points. If the results do not match, it notifies the user of the details and, by recognizing the user's emotions, automatically adjusts the priority and format of the notification. This mechanism enables efficient monitoring of UI changes in applications and web pages, facilitates early detection of defects, and allows for flexible responses in accordance with the user's emotions.

[0226] Program Processing Overview

[0227] 1. User input of monitoring points

[0228] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0229] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0230] 2. Data Acquisition

[0231] Server: Configure the scheduler to retrieve data from the target web page or application periodically or as needed.

[0232] For web pages: Issue an HTTP request and retrieve the HTML source.

[0233] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0234] 3. Comparison with monitoring points

[0235] Server: Compares the acquired data with the monitoring points.

[0236] String checking: Text is extracted from the screenshot using OCR (Optical Character Recognition) technology and compared to the expected value.

[0237] Image check: Compare images in screenshots obtained using an image recognition algorithm (e.g., OpenCV) with a default image.

[0238] Layout check: Analyzes the HTML DOM tree and the element placement in screenshots to verify that it matches the expected layout.

[0239] 4. Notification of Results

[0240] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0241] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[0242] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0243] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0244] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0245] 5. Emotion Recognition and Response

[0246] Server: Uses an emotion engine to recognize the emotions of users who receive notifications. Emotion recognition utilizes natural language processing techniques to analyze the text of the feedback sent by the user.

[0247] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it provides more detailed explanations and prompt follow-up.

[0248] Specific example

[0249] Example 1: Monitoring changes to web page heading text

[0250] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0251] Server: Periodically retrieves web pages via HTTP requests and extracts the heading text. Compares this to the user's set expectations and notifies the user of any discrepancies.

[0252] Server: The emotion engine analyzes user feedback after receiving a notification and provides additional support information if the user is dissatisfied.

[0253] Example 2: Monitoring changes in application button positions

[0254] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0255] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[0256] Server: The emotion engine analyzes user feedback from notifications and adjusts notification priority and format based on user interests and emotions.

[0257] This system automates the manual process of checking changes, improving accuracy and efficiency, and also provides a superior user experience by enabling flexible responses that respond to user emotions.

[0258] The following describes the processing flow.

[0259] Step 1:

[0260] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0261] Step 2:

[0262] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[0263] Step 3:

[0264] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[0265] Step 4:

[0266] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[0267] Step 5:

[0268] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[0269] For web pages: Issue an HTTP request and retrieve the HTML source.

[0270] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0271] Step 6:

[0272] Server: Analyzes the acquired data and compares it with the monitoring points.

[0273] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value. For example, it checks if the heading text matches "Welcome to Example!".

[0274] For image checking: The acquired screenshot is compared with the expected image using an image recognition algorithm (e.g., OpenCV). For example, it checks whether a specified logo image exists on the screen.

[0275] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement. For example, check if a button is in a specific position (bottom right of the screen).

[0276] Step 7:

[0277] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0278] Step 8:

[0279] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[0280] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0281] For the dashboard: Collaborate with the front end to display reports on the dashboard in the browser or within the application.

[0282] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0283] Step 9:

[0284] Server: Utilize the sentiment engine to recognize the user's sentiment towards the notification. When the user sends feedback on the notification, analyze the text using natural language processing techniques. For example, if the content of the feedback shows a negative sentiment, recognize that sentiment.

[0285] Step 10:

[0286] Server: Automatically adjust the priority and format of the notification based on the user's sentiment. For example, when the user is dissatisfied, generate a notification that requires more detailed information or a prompt response. Also, if there is a lot of positive feedback, adjust the tone of the notification to improve the user experience. <000090 six>

[0287] Step 11:

[0288] User: Receive the notification, check the monitoring results and additional information. Send feedback if necessary and confirm that the system responds appropriately.

[0289] (Example 2)

[0290] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".

[0291] Traditional web page and application change monitoring systems, while having mechanisms to notify users of changes in monitoring points, lack mechanisms to adjust the priority and format of notifications based on user sentiment. This leads to problems such as decreased user satisfaction and efficiency. Furthermore, an increase in the volume of notifications risks important notifications being overlooked. In addition, analyzing and responding to feedback takes time, making rapid responses difficult.

[0292] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0293] In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to recognize the emotions of the user who received the notification using an emotion engine, and means for the server to automatically adjust the priority and format of the notification based on the user's emotions. This enables appropriate notifications in accordance with the user's emotions, improves user satisfaction, and allows for quick and efficient responses.

[0294] A "change monitoring point" refers to specific data or elements (e.g., text, images, layout elements) on a webpage or application that a user wants to monitor.

[0295] A "server" refers to a computer system that receives, retrieves, compares, notifies, and performs sentiment recognition on data from change monitoring points.

[0296] A "user" refers to a person or organization that uses the system to set up change monitoring points and receives the results.

[0297] "Means of acquisition" refers to the functions that a server uses to acquire things like the HTML source of a web page or screenshots of an application.

[0298] "Means of comparison" refers to a function that compares data acquired by the server with monitoring points set by the user to check if they match.

[0299] "Notification methods" refer to the functions that allow the server to send alerts and reports to users based on comparison results.

[0300] An "emotion engine" refers to a software component that analyzes user feedback on notifications and recognizes their emotions.

[0301] "Means of recognizing emotions" refers to a function that uses an emotion engine to analyze text data from user feedback and determine the user's emotional state.

[0302] "Means for automatically adjusting notification priority and format" refers to a function that appropriately changes the urgency and display format of notifications based on the user's perceived emotions.

[0303] This invention is a system in which a user monitors specific parts (change monitoring points) of a web page or application and sends those changes to a server. Furthermore, the server has the ability to recognize the user's sentiment towards the notification and automatically optimize its response.

[0304] User input of monitoring points

[0305] Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and the monitoring point. Specifically, they enter detailed information such as text, images, and layout elements, and also set the monitoring frequency and notification method.

[0306] Data acquisition and comparison

[0307] The server configures a scheduler to obtain data of the target web page or application regularly or as needed. In the case of a web page, an HTTP request is issued to obtain the HTML source. In the case of an application, an automation tool such as Selenium is used to launch the application and obtain a screenshot. Next, the obtained data is compared with the monitoring points. The OCR technology (e.g., Tesseract OCR) is used for string checking, and the image recognition algorithm (e.g., OpenCV) is used for image checking. In the case of layout checking, the element arrangement on the HTML DOM tree or screenshot is analyzed.

[0308] Notification of comparison results

[0309] The server analyzes the comparison results and generates a report if a discrepancy is detected. The report includes the monitoring target, the actual value detected, the expected value, and detailed information about the discovered discrepancy. This report is for notifying the user. Notification methods include email, dashboard, push notification, etc., and APIs such as the SMTP library or Firebase Cloud Messaging may be used.

[0310] Use of the emotion engine

[0311] The server uses the emotion engine to recognize the emotions of the users who receive the notification. The text of the feedback is analyzed using natural language processing technology. Specifically, services such as the Google (registered trademark) Cloud Natural Language API are utilized to determine the emotional state of the user. When the emotion engine detects the user's dissatisfaction or excitement, the priority and format of the notification are automatically adjusted to provide a detailed explanation and prompt follow-up.

[0312] Example

[0313] Example 1: Monitoring the change of the headline text of a web page

[0314] Users log in to the administration panel and set the headline text of a specific webpage as a monitoring point. For example, they might enter "URL: https: / / example.com, Expected headline: 'Latest News'". The server periodically issues HTTP requests to retrieve the webpage, parses the headline text, and compares it to the expected value. If a mismatch is detected, the user is notified by email.

[0315] Example 2: Monitoring changes in application button positions

[0316] The user sets the location of the "Submit" button on a specific application screen as a monitoring point. For example, they might enter "Application path: / usr / local / app, Expected button location: (100, 200)". The server periodically uses Selenium to take screenshots of the application and uses image recognition technology to detect the button's location. If the location differs from the expected value, an alert is sent to the user via push notification.

[0317] Example of a prompt

[0318] "Design a system that notifies users when specific heading text on a webpage changes. Integrate an emotion engine to adapt the format of the notification based on the user's sentiment."

[0319] This invention enables automatic detection of changes and flexible responses that respond to user emotions, thereby improving user satisfaction and allowing for quick and efficient responses.

[0320] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0321] Step 1:

[0322] The user enters the change monitoring point.

[0323] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). You can also set the monitoring frequency and notification method here. For example, the input might be "URL: https: / / example.com, Monitoring point: 'Latest News', Notification method: Email, Frequency: Daily".

[0324] Input: URL, monitoring point, notification method, monitoring frequency

[0325] Output: Input information is sent to the server in JSON format. Specifically, it takes the form of "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}".

[0326] Terminal: Converts the entered information into JSON format and sends it to the server in real time.

[0327] Step 2:

[0328] Data acquisition

[0329] Server: Configures a scheduler to retrieve data from the target web page or application based on a specified frequency.

[0330] Input: Monitoring configuration information in JSON format, specifically "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}"

[0331] Output: Retrieved HTML source and screenshots.

[0332] Server: For web pages, issue an HTTP request to retrieve the HTML source. For example, use the requests library to download HTML from "https: / / example.com". For applications, use Selenium to launch the application and take a screenshot.

[0333] Step 3:

[0334] Comparison of acquired data and monitoring points

[0335] Server: Compares the acquired data with the monitoring points.

[0336] Input: Retrieved HTML source or screenshot, monitoring points (string, image, layout element)

[0337] Output: Comparison results. A detailed report will be generated if there are discrepancies.

[0338] Server: For string checking, OCR technology (e.g., Tesseract OCR) is used to extract characters from the screenshot and compare them to the expected string. For example, it checks if the string "latest news" is included. For image checking, OpenCV is used to obtain images within the screenshot and compare them to a default image. The DOM tree and element placement on the screenshot are analyzed to check if they match the expected placement.

[0339] Step 4:

[0340] Notification of results

[0341] Server: Analyzes the comparison results and generates a detailed report if a discrepancy is detected. The report includes the monitored item, the actual value detected, the expected value, and detailed information about the discrepancy found. Specifically, it might include information such as "Monitoring point: 'Latest news', Detected value: 'Old news', Details: Headline text is different."

[0342] Input: Comparison results, detailed information on discrepancies

[0343] Output: Report to send to the user

[0344] Server: Sends notifications to users via email, dashboard, or push notification. For example, for email, it uses the SMTP library to send report content to the user in text format. For dashboard display, it displays the report on the frontend.

[0345] Step 5:

[0346] Emotion recognition and response

[0347] Server: Uses an emotion engine to recognize the emotions of the user who received the notification. Analyzes the user's feedback text using natural language processing techniques.

[0348] Input: User feedback text regarding the comparison results

[0349] Output: The user's emotional state. For example, emotional states such as "positive," "negative," or "neutral."

[0350] Server: Uses Google Cloud Natural Language API and other tools to analyze user feedback text and determine emotional state. For example, it recognizes negative emotion in feedback such as "I'm unhappy with this change." Based on the recognized emotion, it automatically adjusts the priority and format of notifications, providing detailed explanations and prompt follow-up.

[0351] (Application Example 2)

[0352] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0353] Traditional web page and application change monitoring systems could notify users of changes, but they lacked the means to adjust the priority and format of notifications based on user sentiment. As a result, notifications were often inadequate, making it difficult to obtain useful user feedback and hindering the optimization of effective advertising and content management. A mechanism is needed to improve this shortcoming and enhance the user experience.

[0354] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to analyze the user's emotions, and means for the server to adjust the priority of notifications based on the analyzed emotions. This enables flexible responses in accordance with the user's emotions and allows for the optimization of advertising and content management.

[0355] A "change monitoring point" is information used by a user to specify a particular part of a web page or application that they want to monitor.

[0356] A "server" is a computer system used to process and manage data over a network.

[0357] "Acquisition method" refers to the method by which a server retrieves data from web pages and applications.

[0358] "Comparison means" refers to the process of matching acquired data with change monitoring points entered by the user.

[0359] "Notification method" refers to the method by which the server informs the user of the comparison results.

[0360] "Means for analyzing emotions" refers to methods by which a server detects and analyzes emotions from user feedback.

[0361] "Means for adjusting notification priority" refers to methods for changing the importance and format of notifications based on analyzed user sentiment.

[0362] "Data" refers to information such as the HTML source of a web page or screenshots of an application.

[0363] "HTML source" is a markup language used to define the structure and content of a web page.

[0364] A "screenshot" refers to a computer screen display saved as an image file.

[0365] An "emotion engine" is a technology or software used to identify and analyze a user's emotions from text, audio, and other sources.

[0366] This invention describes how to implement a system for users to monitor changes to specific web pages or applications. The system includes the steps of setting monitoring points, acquiring data, comparing data, providing notifications, and performing sentiment analysis.

[0367] 1. User input of monitoring points

[0368] Users enter the URL of the webpage or application path they want to monitor, along with the monitoring points (e.g., specific text, images, or layout elements), into the system's administration screen or a dedicated application using a means to input change monitoring points. They can also configure the monitoring frequency and notification method as needed. This information is sent to the server in real time.

[0369] 2. Data Acquisition

[0370] The server automatically retrieves data from target web pages and applications periodically or as needed. For web pages, it issues HTTP requests to retrieve the HTML source; for applications, it uses automation tools (e.g., Selenium) to take screenshots.

[0371] 3. Comparison of data and monitoring points

[0372] The server compares the acquired data with monitoring points. OCR technology (e.g., pytesseract) is used for string checking, and image processing algorithms (e.g., OpenCV) are used for image recognition. Layout checks include parsing the HTML DOM tree and analyzing the element placement in screenshots.

[0373] 4. Notification of Results

[0374] The server analyzes the comparison results and, if discrepancies are detected, generates a report and notifies the user. Notification methods include email, dashboards, and push notifications. Email notifications use an email sending library (e.g., smtplib). Dashboard displays use frontend technologies (e.g., React or Vue.js).

[0375] 5. Emotion Recognition and Response

[0376] The server uses an emotion engine to analyze user feedback and determine their emotions. Natural language processing techniques (e.g., Hugging Face's transformers library) are used for emotion recognition. Notification priorities and formats are automatically adjusted based on the user's emotions. For example, if a user expresses dissatisfaction, more detailed explanations and prompt follow-up are provided.

[0377] Specific example

[0378] URL: http: / / example.com / ad

[0379] Monitoring point: Expected ad text (e.g., "New product announcement!")

[0380] Feedback: Let's assume a user gives feedback saying, "What is this ad? It's completely useless." In response to this feedback, the sentiment analysis engine detects negative emotions, and the system provides detailed follow-up information and improvement suggestions.

[0381] Example of a prompt

[0382] "What is this ad? It's completely useless."

[0383] In this way, we can provide a system that can respond flexibly to the user's intentions and emotions, thereby optimizing advertising and content management.

[0384] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0385] Step 1:

[0386] The user enters change monitoring points. This includes the URL of the webpage or application path to be monitored, and details of the monitoring point (e.g., specific text, image, or layout element). This information is sent from the terminal to the server in real time. The entered monitoring points are stored in the server-side database.

[0387] Step 2:

[0388] The server retrieves data from the target webpage or application. This data retrieval is performed periodically or as needed. For webpages, it issues an HTTP request to retrieve the HTML source; for applications, it uses an automation tool (e.g., Selenium) to take screenshots. The HTML source and screenshots are stored in the file system or database.

[0389] Step 3:

[0390] The server compares the acquired data with the monitoring points set by the user. Specific text and layout elements are extracted from the HTML source, and necessary information is extracted from screenshots using OCR technology (e.g., pytesseract) or image recognition algorithms (e.g., OpenCV). This extracted data is then compared with the expected values ​​for the monitoring points. If the comparison results do not match, details of the discrepancies are generated.

[0391] Step 4:

[0392] The server notifies the user of the comparison results. Notification methods include email, dashboard display, and push notifications. Email sending uses an email sending library (e.g., smtplib), dashboard display uses frontend technologies (e.g., React or Vue.js), and appropriate APIs are used for push notifications. Detailed information about the discrepancies and the comparison results are generated as a notification message and sent to the user.

[0393] Step 5:

[0394] The user receives a notification. The user who receives the notification enters feedback into the system. This feedback is sent to the server in text format.

[0395] Step 6:

[0396] The server analyzes user feedback using an emotion engine. Natural language processing techniques (e.g., Hugging Face's transformers library) are used to extract the user's emotion (e.g., positive, negative, neutral) from the feedback text. The extracted emotion information is stored in a database.

[0397] Step 7:

[0398] The server adjusts notification priorities based on analyzed sentiment. For example, if a user expresses dissatisfaction, the system provides a detailed explanation and prompt follow-up. On the other hand, if positive sentiment is detected, the standard response is maintained. The adjusted notification content is then sent back to the user, and appropriate action is taken.

[0399] In this way, the system automatically monitors changes to web pages and applications based on user monitoring points, and can respond flexibly according to user sentiment. As a result, advertising and content management are optimized.

[0400] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0401] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0402] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0403] [Second Embodiment]

[0404] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0405] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0406] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0407] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0408] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0409] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0410] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0411] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0412] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0413] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0414] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0415] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0416] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data (HTML source or screenshots) of the target web page or application and compares the retrieved data with the monitoring points. If the results do not match, the server notifies the user of the details. This mechanism enables efficient monitoring of UI changes in applications and web pages, and facilitates the early detection of defects.

[0417] Program Processing Overview

[0418] 1. User input of monitoring points

[0419] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (strings, images, layout elements).

[0420] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0421] 2. Data Acquisition

[0422] Server: Uses a scheduler to retrieve data from the target web page or application periodically or trigger-based.

[0423] For web pages: Issue an HTTP request and download the HTML source.

[0424] For applications: Use an automated tool to take screenshots.

[0425] 3. Comparison with monitoring points

[0426] Server: Compares the acquired data with the monitoring points.

[0427] Text checking: Optical character recognition (OCR) is used to extract text from the screenshot and compare it to the expected value.

[0428] Image check: The image in the screenshot, obtained using an image recognition algorithm, is compared to a default image.

[0429] Layout check: Perform DOM analysis to verify that the placement of elements matches the expected positions.

[0430] 4. Notification of Results

[0431] Server: Analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details. Notification methods include email, dashboard, and push notifications.

[0432] Terminal: Displays notifications received from the server to the user.

[0433] Specific example

[0434] Example 1: Monitoring changes to web page heading text

[0435] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0436] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0437] Example 2: Monitoring changes in application button positions

[0438] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0439] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Verify that it is in the expected location and notify the user if it is not.

[0440] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0441] The following describes the processing flow.

[0442] Step 1:

[0443] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0444] Step 2:

[0445] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[0446] Step 3:

[0447] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[0448] Step 4:

[0449] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[0450] Step 5:

[0451] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[0452] For web pages: Issue an HTTP request and retrieve the HTML source.

[0453] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0454] Step 6:

[0455] Server: Analyzes the acquired data and compares it with the monitoring points.

[0456] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value.

[0457] For image checking: The acquired screenshot and the expected image are compared using an image recognition algorithm (e.g., OpenCV).

[0458] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement.

[0459] Step 7:

[0460] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0461] Step 8:

[0462] Server: Based on the generated report, it sends notifications to the user. Notification methods include email, dashboard display, and push notifications.

[0463] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0464] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0465] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0466] Step 9:

[0467] User: Receive notifications and review monitoring results. Take corrective or additional actions as needed.

[0468] (Example 1)

[0469] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0470] Traditional change monitoring systems require users to manually check the status of web pages and applications, which is inefficient and makes it difficult to overlook changes or detect problems early. Furthermore, managing multiple monitoring points simultaneously requires significant human resources and time.

[0471] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0472] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to periodically or trigger-based acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to perform the comparison by optical character recognition, image recognition, or DOM analysis, means for the server to notify the user of the comparison results, and means for the terminal to display the notification received from the server to the user. This makes it possible to automatically detect changes to the target web page or application and notify the user quickly and accurately.

[0473] A "user" is someone who uses the system by operating the system's administration screen or dedicated application and entering change monitoring points.

[0474] A "change monitoring point" refers to detailed information about a web page that a user wants to monitor, such as its URL, application path, specific strings of text, images, or layout elements.

[0475] A "server" is a device or system that receives monitoring points from users, retrieves data from the target web page or application, compares it with the monitoring points, and notifies the user of the results.

[0476] A "terminal" is a device operated by the user, which receives input from monitoring points and notifications from the server and displays them to the user.

[0477] "Data acquisition means" refers to the means by which a server periodically or trigger-based acquires data such as the HTML source of a target web page or screenshots of an application.

[0478] "Comparison means" refers to methods for verifying whether data acquired by a server matches data from a change monitoring point, and includes technologies such as optical character recognition, image recognition, and DOM analysis.

[0479] "Notification methods" refer to the means by which the server informs the user of the comparison results, and include email, dashboards, push notifications, etc.

[0480] Optical Character Recognition (OCR) is a technology that extracts characters from screenshots and compares those characters to the expected values ​​of monitoring points.

[0481] "Image recognition" is a technology that identifies images within a captured screenshot and compares them to the expected images of the monitoring point.

[0482] "DOM analysis" is a technique that analyzes the HTML source of a web page to verify whether the placement of elements matches the expected positions.

[0483] This invention is a system for automatically monitoring changes to web pages and applications and notifying users. Specific embodiments for carrying out this invention are described below.

[0484] User-configured monitoring points

[0485] Users input change monitoring points using the system's administration screen or a dedicated application. For example, they input the URL of the web page they want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). The entered information is sent from the terminal to the server in real time. The terminals used in this process include browsers and mobile applications.

[0486] Data acquisition by the server

[0487] The server uses a scheduler to periodically or trigger-based retrieve data from target web pages or applications. For web pages, it issues HTTP requests to download the HTML source. For applications, it uses automation tools (e.g., Selenium) to take screenshots.

[0488] Data comparison

[0489] The server compares the acquired data with the monitoring points. Specifically, it uses the following method:

[0490] Text checking: Use an Optical Character Recognition (OCR) tool (e.g., Tesseract) to extract text from screenshots and compare it to the expected values ​​of the monitoring points.

[0491] Image check: Compare the image in the screenshot, obtained using an image recognition algorithm (e.g., OpenCV), with the expected image.

[0492] Layout check: Perform DOM analysis to verify that the placement of elements on the webpage matches the expected positions.

[0493] Notification of results

[0494] The server analyzes the comparison results, and if a discrepancy is detected, it notifies the user of the details. Notification methods include email, dashboard, and push notifications. When a notification occurs, the device displays the notification received from the server to the user.

[0495] Specific example

[0496] Example 1: Monitoring changes to web page heading text

[0497] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0498] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0499] Example 2: Monitoring changes in application button positions

[0500] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0501] Server: Periodically take screenshots of the application and use an image recognition algorithm (e.g., OpenCV) to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[0502] Example of a prompt

[0503] Please describe a system that notifies you when the heading text of a specific webpage changes.

[0504] "Please explain how to implement a system that notifies you when the position of a specific button in an application changes."

[0505] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0506] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0507] Step 1: The user enters the change monitoring point.

[0508] Overview: Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and details of the monitoring points (text, images, layout elements).

[0509] Input: Web page URL, application path, and monitoring point details.

[0510] Specific operation: The user launches a browser or mobile app, enters their login credentials, and accesses the system. Next, they enter the URL or application path into a formatted form and specify details for each monitoring point (e.g., heading text, button location, etc.). Once the input is complete, they press the submit button.

[0511] Output: Request data containing the input monitoring point information.

[0512] Step 2: The terminal sends the monitoring point to the server.

[0513] Overview: Sends entered monitoring point information to the server in real time.

[0514] Input: Request data (monitoring point information entered by the user).

[0515] Specific operation: The terminal creates an AJAX request and sends the user-entered monitoring point information to the server. The data sent includes the type of monitoring point (string, image, layout element) and the expected value.

[0516] Output: Monitoring point information is sent to the server.

[0517] Step 3: The server retrieves the data.

[0518] Overview: The server uses a scheduler to retrieve data from a target web page or application periodically or trigger-based.

[0519] Input: Information on monitoring points and scheduling information.

[0520] Specific operation: The scheduler on the server runs at set time intervals to trigger the specified action. Specifically, for web pages, it issues an HTTP request to download the HTML source. For applications, it uses an automation tool (e.g., Selenium) to take a screenshot.

[0521] Output: Retrieved HTML source and screenshot data.

[0522] Step 4: The server compares the data with the monitoring point.

[0523] Overview: Compare the acquired data with the monitoring points.

[0524] Input: Acquired HTML source, screenshot data, and monitoring point information.

[0525] Specific operation: The server calls a module (e.g., BeautifulSoup, Tesseract) to parse the acquired HTML source or screenshot data and compares it to the monitoring points. For string checks, an optical character recognition (OCR) tool is used to extract characters from the screenshot and compare them to the expected values ​​of the monitoring points. For image checks, an image recognition algorithm is used to compare the images in the screenshot to the expected images. For layout checks, DOM analysis is performed to check whether the elements of the web page are in the expected positions.

[0526] Output: Comparison results (match / mismatch information).

[0527] Step 5: The server notifies the user of the comparison results.

[0528] Overview: The server analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details.

[0529] Input: Comparison result data.

[0530] Specific operation: The server logs the results to a log file and initiates a process to notify the user (e.g., sending an email using SMTP, or a push notification via an API call). When a notification occurs, the server sends details to the user using the configured method (e.g., email, dashboard, or push notification).

[0531] Output: Notification message to the user.

[0532] Step 6: The device displays a notification message to the user.

[0533] Overview: The device displays notifications received from the server to the user.

[0534] Input: Notification message from the server.

[0535] Specific operation: The device receives a response from the server, parses the notification content, and informs the user via a dashboard screen, push notification, or email notification. The user checks the notification and takes the necessary action.

[0536] Output: The displayed notification message.

[0537] (Application Example 1)

[0538] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0539] In conventional systems, manual monitoring of UI changes for web pages and applications was the norm, a time-consuming and laborious process. Furthermore, early detection of anomalies was difficult, hindering system quality maintenance and cost reduction. This problem was particularly pronounced in business systems such as those in logistics centers, where real-time UI change monitoring and rapid notification were essential.

[0540] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0541] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of a target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, and means for displaying and notifying the monitoring results in real time via smart glasses. This makes it possible to monitor system and application UI changes in real time at a logistics center and to promptly notify when an anomaly occurs.

[0542] A "change monitoring point" refers to a specific element or data within a web page or application that a user chooses to monitor.

[0543] A "server" refers to a computing system that receives monitoring points sent by users, acquires and compares the target data, and notifies the user of the results.

[0544] A "web page" is a type of information content provided on the internet, specifically a document written in HTML format.

[0545] An "application" refers to a software program that runs on a computer.

[0546] "Acquisition method" refers to the function that the server uses to acquire the HTML source of a web page or screenshots of an application.

[0547] "Comparison means" refers to a function that compares acquired data with monitoring points entered by the user and confirms whether or not they match.

[0548] "Notification method" refers to a function for communicating comparison results to the user.

[0549] "Smart glasses" refer to a type of wearable device, specifically glasses-shaped devices equipped with a transparent display that show notifications and information to the user in real time.

[0550] "Real-time display" refers to a method of presenting the results of data acquisition and processing to the user immediately.

[0551] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data from the target web page or application, compares the retrieved data with the monitoring points, and notifies the user of the results. Furthermore, by displaying the notification results in real time on smart glasses, immediate action can be taken at sites such as logistics centers.

[0552] Hardware and software used

[0553] Hardware:

[0554] Smart Glasses

[0555] software:

[0556] Python

[0557] HTTP Requests Library (requests)

[0558] OCR tool (pytesseract)

[0559] Image processing library (Pillow)

[0560] Processing flow

[0561] Users log in to a dedicated management screen or application and enter monitoring points. These monitoring points include web page URLs, specific strings, images, and layout elements. These monitoring points are sent to the server in real time.

[0562] The server periodically or trigger-based, based on its configuration, retrieves the HTML source of the target webpage or screenshots of the application. For webpages, it issues an HTTP request and downloads the HTML source. For applications, it uses an automated tool to take screenshots and extracts text from the images using a Python OCR tool (pytesseract).

[0563] The server compares the acquired data with the monitoring points. This includes the following processes:

[0564] String check: Verify that the extracted text matches the expected value.

[0565] Image check: Use an image processing library to verify that a specific image in the screenshot matches the expected image.

[0566] Layout check: Performs DOM analysis of the HTML source to verify that specific elements are located in their expected positions.

[0567] Based on the comparison results, the server will notify the user of any discrepancies detected. Notification methods include email, dashboards, and push notifications. Furthermore, displaying notification results in real time via smart glasses enables rapid response in the field.

[0568] Specific example

[0569] For example, while a logistics center management staff member is wearing smart glasses and working, they can monitor in real time whether the title of the management system's login page has changed from "Management System." In this way, changes to the system and application UI are monitored, and if an anomaly is detected, a notification is immediately displayed on the smart glasses, enabling a quick response.

[0570] Example of a prompt

[0571] The system monitors whether the title of the login page has been changed from "Management System" and sends a notification immediately if a change is detected.

[0572] This invention can help maintain system quality and reduce maintenance costs in various business environments, including logistics centers.

[0573] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0574] Step 1:

[0575] Users access the management screen or a dedicated application and enter the URL or path of the web page or application they want to monitor, as well as monitoring points (e.g., important strings or image patterns).

[0576] Input: Web page URL, monitoring point information (string, image, layout element)

[0577] Output: Input information

[0578] Step 2:

[0579] The terminal transmits the entered monitoring point information to the server in real time.

[0580] Input: Monitoring point information entered by the user.

[0581] Output: Monitoring point information sent to the server

[0582] Step 3:

[0583] The server retrieves data from target web pages and applications periodically or as needed, based on a scheduler or user-initiated triggers.

[0584] Input: URL of the webpage or application path to be monitored.

[0585] Output: HTML source of the retrieved webpage or a screenshot of the application.

[0586] Step 4:

[0587] The server analyzes the HTML source of the acquired webpage or a screenshot of the application and compares it to monitoring points. For text checks, OCR is used to extract characters from the screenshot and compare them to the expected values. For image checks, an image recognition algorithm is used. For layout checks, DOM analysis is performed.

[0588] Input: Acquired HTML source, screenshots, user-entered monitoring point information

[0589] Output: Analysis result (match, mismatch)

[0590] Step 5:

[0591] Based on the comparison results, the server will notify the user of any discrepancies with the monitoring points, providing detailed information. Notification methods include email, dashboards, and push notifications.

[0592] Input: Analysis results (comparison results with monitoring points)

[0593] Output: Notifications to users (email, dashboard, push notifications)

[0594] Step 6:

[0595] The server displays notification results on smart glasses in real time, enabling immediate response on-site.

[0596] Input: Notification result

[0597] Output: Real-time display on smart glasses

[0598] Specific example:

[0599] For example, if a user sets the login page of a logistics center's management system as a monitoring point, the system will periodically retrieve the HTML source of that page, and if the characters extracted by OCR do not match "management system," the user will be notified of the mismatch and displayed on their smart glasses.

[0600] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0601] This invention combines a system in which the user inputs change monitoring points and sends them to a server with an emotion engine to recognize the user's emotions in response to notifications and optimize the response. The server periodically or as needed acquires data (HTML source or screenshots) of the target web page or application and compares the acquired data with the monitoring points. If the results do not match, it notifies the user of the details and, by recognizing the user's emotions, automatically adjusts the priority and format of the notification. This mechanism enables efficient monitoring of UI changes in applications and web pages, facilitates early detection of defects, and allows for flexible responses in accordance with the user's emotions.

[0602] Program Processing Overview

[0603] 1. User input of monitoring points

[0604] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0605] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0606] 2. Data Acquisition

[0607] Server: Configure the scheduler to retrieve data from the target web page or application periodically or as needed.

[0608] For web pages: Issue an HTTP request and retrieve the HTML source.

[0609] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0610] 3. Comparison with monitoring points

[0611] Server: Compares the acquired data with the monitoring points.

[0612] String checking: Text is extracted from the screenshot using OCR (Optical Character Recognition) technology and compared to the expected value.

[0613] Image check: Compare images in screenshots obtained using an image recognition algorithm (e.g., OpenCV) with a default image.

[0614] Layout check: Analyzes the HTML DOM tree and the element placement in screenshots to verify that it matches the expected layout.

[0615] 4. Notification of Results

[0616] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0617] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[0618] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0619] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0620] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0621] 5. Emotion Recognition and Response

[0622] Server: Uses an emotion engine to recognize the emotions of users who receive notifications. Emotion recognition utilizes natural language processing techniques to analyze the text of the feedback sent by the user.

[0623] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it provides more detailed explanations and prompt follow-up.

[0624] Specific example

[0625] Example 1: Monitoring changes to web page heading text

[0626] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0627] Server: Periodically retrieves web pages via HTTP requests and extracts the heading text. Compares this to the user's set expectations and notifies the user of any discrepancies.

[0628] Server: The emotion engine analyzes user feedback after receiving a notification and provides additional support information if the user is dissatisfied.

[0629] Example 2: Monitoring changes in application button positions

[0630] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0631] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[0632] Server: The emotion engine analyzes user feedback from notifications and adjusts notification priority and format based on user interests and emotions.

[0633] This system automates the manual process of checking changes, improving accuracy and efficiency, and also provides a superior user experience by enabling flexible responses that respond to user emotions.

[0634] The following describes the processing flow.

[0635] Step 1:

[0636] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0637] Step 2:

[0638] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[0639] Step 3:

[0640] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[0641] Step 4:

[0642] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[0643] Step 5:

[0644] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[0645] For web pages: Issue an HTTP request and retrieve the HTML source.

[0646] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0647] Step 6:

[0648] Server: Analyzes the acquired data and compares it with the monitoring points.

[0649] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value. For example, it checks if the heading text matches "Welcome to Example!".

[0650] For image checking: The acquired screenshot is compared with the expected image using an image recognition algorithm (e.g., OpenCV). For example, it checks whether a specified logo image exists on the screen.

[0651] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement. For example, check if a button is in a specific position (bottom right of the screen).

[0652] Step 7:

[0653] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0654] Step 8:

[0655] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[0656] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0657] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0658] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0659] Step 9:

[0660] Server: Uses an emotion engine to recognize the user's emotions in response to notifications. If the user sends feedback in response to a notification, the text is analyzed using natural language processing techniques. For example, if the content of the feedback indicates a negative emotion, that emotion is recognized.

[0661] Step 10:

[0662] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it generates notifications requiring more detailed information or a quicker response. Conversely, if there is a lot of positive feedback, it adjusts the tone of notifications to improve the user experience.

[0663] Step 11:

[0664] User: Receive notifications and review monitoring results and additional information. Send feedback as needed to ensure the system takes appropriate action.

[0665] (Example 2)

[0666] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0667] Traditional web page and application change monitoring systems, while having mechanisms to notify users of changes in monitoring points, lack mechanisms to adjust the priority and format of notifications based on user sentiment. This leads to problems such as decreased user satisfaction and efficiency. Furthermore, an increase in the volume of notifications risks important notifications being overlooked. In addition, analyzing and responding to feedback takes time, making rapid responses difficult.

[0668] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0669] In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to recognize the emotions of the user who received the notification using an emotion engine, and means for the server to automatically adjust the priority and format of the notification based on the user's emotions. This enables appropriate notifications in accordance with the user's emotions, improves user satisfaction, and allows for quick and efficient responses.

[0670] A "change monitoring point" refers to specific data or elements (e.g., text, images, layout elements) on a webpage or application that a user wants to monitor.

[0671] A "server" refers to a computer system that receives, retrieves, compares, notifies, and performs sentiment recognition on data from change monitoring points.

[0672] A "user" refers to a person or organization that uses the system to set up change monitoring points and receives the results.

[0673] "Means of acquisition" refers to the functions that a server uses to acquire things like the HTML source of a web page or screenshots of an application.

[0674] "Means of comparison" refers to a function that compares data acquired by the server with monitoring points set by the user to check if they match.

[0675] "Notification methods" refer to the functions that allow the server to send alerts and reports to users based on comparison results.

[0676] An "emotion engine" refers to a software component that analyzes user feedback on notifications and recognizes their emotions.

[0677] "Means of recognizing emotions" refers to a function that uses an emotion engine to analyze text data from user feedback and determine the user's emotional state.

[0678] "Means for automatically adjusting notification priority and format" refers to a function that appropriately changes the urgency and display format of notifications based on the user's perceived emotions.

[0679] This invention is a system in which a user monitors specific parts (change monitoring points) of a web page or application and sends those changes to a server. Furthermore, the server has the ability to recognize the user's sentiment towards the notification and automatically optimize its response.

[0680] User input of monitoring points

[0681] Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and the monitoring point. Specifically, they enter detailed information such as text, images, and layout elements, and also set the monitoring frequency and notification method.

[0682] Data acquisition and comparison

[0683] The server configures a scheduler to periodically or as needed retrieve data from the target web page or application. For web pages, it issues an HTTP request to retrieve the HTML source. For applications, it uses automation tools such as Selenium to launch the application and take screenshots. Next, it compares the retrieved data with the monitoring points. For string checking, it uses OCR technology (e.g., Tesseract OCR), and for image checking, it uses image recognition algorithms (e.g., OpenCV). For layout checking, it analyzes the HTML DOM tree or the arrangement of elements in the screenshot.

[0684] Notification of comparison results

[0685] The server analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found. This report is intended to notify the user. Notification methods include email, dashboards, and push notifications, and may also utilize APIs such as SMTP libraries and Firebase Cloud Messaging.

[0686] Using an Emotion Engine

[0687] The server uses an emotion engine to recognize the emotions of users who receive notifications. It analyzes the text of the feedback using natural language processing techniques. Specifically, it uses services such as the Google Cloud Natural Language API to determine the user's emotional state. If the emotion engine detects user dissatisfaction or agitation, it automatically adjusts the priority and format of the notification and provides detailed explanations and prompt follow-up.

[0688] example

[0689] Example 1: Monitoring changes to web page heading text

[0690] Users log in to the administration panel and set the headline text of a specific webpage as a monitoring point. For example, they might enter "URL: https: / / example.com, Expected headline: 'Latest News'". The server periodically issues HTTP requests to retrieve the webpage, parses the headline text, and compares it to the expected value. If a mismatch is detected, the user is notified by email.

[0691] Example 2: Monitoring changes in application button positions

[0692] The user sets the location of the "Submit" button on a specific application screen as a monitoring point. For example, they might enter "Application path: / usr / local / app, Expected button location: (100, 200)". The server periodically uses Selenium to take screenshots of the application and uses image recognition technology to detect the button's location. If the location differs from the expected value, an alert is sent to the user via push notification.

[0693] Example of a prompt

[0694] "Design a system that notifies users when specific heading text on a webpage changes. Integrate an emotion engine to adapt the format of the notification based on the user's sentiment."

[0695] This invention enables automatic detection of changes and flexible responses that respond to user emotions, thereby improving user satisfaction and allowing for quick and efficient responses.

[0696] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0697] Step 1:

[0698] The user enters the change monitoring point.

[0699] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). You can also set the monitoring frequency and notification method here. For example, the input might be "URL: https: / / example.com, Monitoring point: 'Latest News', Notification method: Email, Frequency: Daily".

[0700] Input: URL, monitoring point, notification method, monitoring frequency

[0701] Output: Input information is sent to the server in JSON format. Specifically, it takes the form of "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}".

[0702] Terminal: Converts the entered information into JSON format and sends it to the server in real time.

[0703] Step 2:

[0704] Data acquisition

[0705] Server: Configures a scheduler to retrieve data from the target web page or application based on a specified frequency.

[0706] Input: Monitoring configuration information in JSON format, specifically "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}"

[0707] Output: Retrieved HTML source and screenshots.

[0708] Server: For web pages, issue an HTTP request to retrieve the HTML source. For example, use the requests library to download HTML from "https: / / example.com". For applications, use Selenium to launch the application and take a screenshot.

[0709] Step 3:

[0710] Comparison of acquired data and monitoring points

[0711] Server: Compares the acquired data with the monitoring points.

[0712] Input: Retrieved HTML source or screenshot, monitoring points (string, image, layout element)

[0713] Output: Comparison results. A detailed report will be generated if there are discrepancies.

[0714] Server: For string checking, OCR technology (e.g., Tesseract OCR) is used to extract characters from the screenshot and compare them to the expected string. For example, it checks if the string "latest news" is included. For image checking, OpenCV is used to obtain images within the screenshot and compare them to a default image. The DOM tree and element placement on the screenshot are analyzed to check if they match the expected placement.

[0715] Step 4:

[0716] Notification of results

[0717] Server: Analyzes the comparison results and generates a detailed report if a discrepancy is detected. The report includes the monitored item, the actual value detected, the expected value, and detailed information about the discrepancy found. Specifically, it might include information such as "Monitoring point: 'Latest news', Detected value: 'Old news', Details: Headline text is different."

[0718] Input: Comparison results, detailed information on discrepancies

[0719] Output: Report to send to the user

[0720] Server: Sends notifications to users via email, dashboard, or push notification. For example, for email, it uses the SMTP library to send report content to the user in text format. For dashboard display, it displays the report on the frontend.

[0721] Step 5:

[0722] Emotion recognition and response

[0723] Server: Uses an emotion engine to recognize the emotions of the user who received the notification. Analyzes the user's feedback text using natural language processing techniques.

[0724] Input: User feedback text regarding the comparison results

[0725] Output: The user's emotional state. For example, emotional states such as "positive," "negative," or "neutral."

[0726] Server: Uses Google Cloud Natural Language API and other tools to analyze user feedback text and determine emotional state. For example, it recognizes negative emotion in feedback such as "I'm unhappy with this change." Based on the recognized emotion, it automatically adjusts the priority and format of notifications, providing detailed explanations and prompt follow-up.

[0727] (Application Example 2)

[0728] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0729] Traditional web page and application change monitoring systems could notify users of changes, but they lacked the means to adjust the priority and format of notifications based on user sentiment. As a result, notifications were often inadequate, making it difficult to obtain useful user feedback and hindering the optimization of effective advertising and content management. A mechanism is needed to improve this shortcoming and enhance the user experience.

[0730] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to analyze the user's emotions, and means for the server to adjust the priority of notifications based on the analyzed emotions. This enables flexible responses in accordance with the user's emotions and allows for the optimization of advertising and content management.

[0731] A "change monitoring point" is information used by a user to specify a particular part of a web page or application that they want to monitor.

[0732] A "server" is a computer system used to process and manage data over a network.

[0733] "Acquisition method" refers to the method by which a server retrieves data from web pages and applications.

[0734] "Comparison means" refers to the process of matching acquired data with change monitoring points entered by the user.

[0735] "Notification method" refers to the method by which the server informs the user of the comparison results.

[0736] "Means for analyzing emotions" refers to methods by which a server detects and analyzes emotions from user feedback.

[0737] "Means for adjusting notification priority" refers to methods for changing the importance and format of notifications based on analyzed user sentiment.

[0738] "Data" refers to information such as the HTML source of a web page or screenshots of an application.

[0739] "HTML source" is a markup language used to define the structure and content of a web page.

[0740] A "screenshot" refers to a computer screen display saved as an image file.

[0741] An "emotion engine" is a technology or software used to identify and analyze a user's emotions from text, audio, and other sources.

[0742] This invention describes how to implement a system for users to monitor changes to specific web pages or applications. The system includes the steps of setting monitoring points, acquiring data, comparing data, providing notifications, and performing sentiment analysis.

[0743] 1. User input of monitoring points

[0744] Users enter the URL of the webpage or application path they want to monitor, along with the monitoring points (e.g., specific text, images, or layout elements), into the system's administration screen or a dedicated application using a means to input change monitoring points. They can also configure the monitoring frequency and notification method as needed. This information is sent to the server in real time.

[0745] 2. Data Acquisition

[0746] The server automatically retrieves data from target web pages and applications periodically or as needed. For web pages, it issues HTTP requests to retrieve the HTML source; for applications, it uses automation tools (e.g., Selenium) to take screenshots.

[0747] 3. Comparison of data and monitoring points

[0748] The server compares the acquired data with monitoring points. OCR technology (e.g., pytesseract) is used for string checking, and image processing algorithms (e.g., OpenCV) are used for image recognition. Layout checks include parsing the HTML DOM tree and analyzing the element placement in screenshots.

[0749] 4. Notification of Results

[0750] The server analyzes the comparison results and, if discrepancies are detected, generates a report and notifies the user. Notification methods include email, dashboards, and push notifications. Email notifications use an email sending library (e.g., smtplib). Dashboard displays use frontend technologies (e.g., React or Vue.js).

[0751] 5. Emotion Recognition and Response

[0752] The server uses an emotion engine to analyze user feedback and determine their emotions. Natural language processing techniques (e.g., Hugging Face's transformers library) are used for emotion recognition. Notification priorities and formats are automatically adjusted based on the user's emotions. For example, if a user expresses dissatisfaction, more detailed explanations and prompt follow-up are provided.

[0753] Specific example

[0754] URL: http: / / example.com / ad

[0755] Monitoring point: Expected ad text (e.g., "New product announcement!")

[0756] Feedback: Let's assume a user gives feedback saying, "What is this ad? It's completely useless." In response to this feedback, the sentiment analysis engine detects negative emotions, and the system provides detailed follow-up information and improvement suggestions.

[0757] Example of a prompt

[0758] "What is this ad? It's completely useless."

[0759] In this way, we can provide a system that can respond flexibly to the user's intentions and emotions, thereby optimizing advertising and content management.

[0760] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0761] Step 1:

[0762] The user enters change monitoring points. This includes the URL of the webpage or application path to be monitored, and details of the monitoring point (e.g., specific text, image, or layout element). This information is sent from the terminal to the server in real time. The entered monitoring points are stored in the server-side database.

[0763] Step 2:

[0764] The server retrieves data from the target webpage or application. This data retrieval is performed periodically or as needed. For webpages, it issues an HTTP request to retrieve the HTML source; for applications, it uses an automation tool (e.g., Selenium) to take screenshots. The HTML source and screenshots are stored in the file system or database.

[0765] Step 3:

[0766] The server compares the acquired data with the monitoring points set by the user. Specific text and layout elements are extracted from the HTML source, and necessary information is extracted from screenshots using OCR technology (e.g., pytesseract) or image recognition algorithms (e.g., OpenCV). This extracted data is then compared with the expected values ​​for the monitoring points. If the comparison results do not match, details of the discrepancies are generated.

[0767] Step 4:

[0768] The server notifies the user of the comparison results. Notification methods include email, dashboard display, and push notifications. Email sending uses an email sending library (e.g., smtplib), dashboard display uses frontend technologies (e.g., React or Vue.js), and appropriate APIs are used for push notifications. Detailed information about the discrepancies and the comparison results are generated as a notification message and sent to the user.

[0769] Step 5:

[0770] The user receives a notification. The user who receives the notification enters feedback into the system. This feedback is sent to the server in text format.

[0771] Step 6:

[0772] The server analyzes user feedback using an emotion engine. Natural language processing techniques (e.g., Hugging Face's transformers library) are used to extract the user's emotion (e.g., positive, negative, neutral) from the feedback text. The extracted emotion information is stored in a database.

[0773] Step 7:

[0774] The server adjusts notification priorities based on analyzed sentiment. For example, if a user expresses dissatisfaction, the system provides a detailed explanation and prompt follow-up. On the other hand, if positive sentiment is detected, the standard response is maintained. The adjusted notification content is then sent back to the user, and appropriate action is taken.

[0775] In this way, the system automatically monitors changes to web pages and applications based on user monitoring points, and can respond flexibly according to user sentiment. As a result, advertising and content management are optimized.

[0776] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0777] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0778] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0779] [Third Embodiment]

[0780] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0781] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0782] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0783] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0784] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0785] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[0786] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0787] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0788] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0789] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0790] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0791] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0792] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data (HTML source or screenshots) of the target web page or application and compares the retrieved data with the monitoring points. If the results do not match, the server notifies the user of the details. This mechanism enables efficient monitoring of UI changes in applications and web pages, and facilitates the early detection of defects.

[0793] Program Processing Overview

[0794] 1. User input of monitoring points

[0795] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (strings, images, layout elements).

[0796] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0797] 2. Data Acquisition

[0798] Server: Uses a scheduler to retrieve data from the target web page or application periodically or trigger-based.

[0799] For web pages: Issue an HTTP request and download the HTML source.

[0800] For applications: Use an automated tool to take screenshots.

[0801] 3. Comparison with monitoring points

[0802] Server: Compares the acquired data with the monitoring points.

[0803] Text checking: Optical character recognition (OCR) is used to extract text from the screenshot and compare it to the expected value.

[0804] Image check: The image in the screenshot, obtained using an image recognition algorithm, is compared to a default image.

[0805] Layout check: Perform DOM analysis to verify that the placement of elements matches the expected positions.

[0806] 4. Notification of Results

[0807] Server: Analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details. Notification methods include email, dashboard, and push notifications.

[0808] Terminal: Displays notifications received from the server to the user.

[0809] Specific example

[0810] Example 1: Monitoring changes to web page heading text

[0811] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0812] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0813] Example 2: Monitoring changes in application button positions

[0814] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0815] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Verify that it is in the expected location and notify the user if it is not.

[0816] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0817] The following describes the processing flow.

[0818] Step 1:

[0819] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0820] Step 2:

[0821] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[0822] Step 3:

[0823] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[0824] Step 4:

[0825] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[0826] Step 5:

[0827] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[0828] For web pages: Issue an HTTP request and retrieve the HTML source.

[0829] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0830] Step 6:

[0831] Server: Analyzes the acquired data and compares it with the monitoring points.

[0832] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value.

[0833] For image checking: The acquired screenshot and the expected image are compared using an image recognition algorithm (e.g., OpenCV).

[0834] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement.

[0835] Step 7:

[0836] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0837] Step 8:

[0838] Server: Based on the generated report, it sends notifications to the user. Notification methods include email, dashboard display, and push notifications.

[0839] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0840] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0841] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0842] Step 9:

[0843] User: Receive notifications and review monitoring results. Take corrective or additional actions as needed.

[0844] (Example 1)

[0845] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0846] Traditional change monitoring systems require users to manually check the status of web pages and applications, which is inefficient and makes it difficult to overlook changes or detect problems early. Furthermore, managing multiple monitoring points simultaneously requires significant human resources and time.

[0847] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0848] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to periodically or trigger-based acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to perform the comparison by optical character recognition, image recognition, or DOM analysis, means for the server to notify the user of the comparison results, and means for the terminal to display the notification received from the server to the user. This makes it possible to automatically detect changes to the target web page or application and notify the user quickly and accurately.

[0849] A "user" is someone who uses the system by operating the system's administration screen or dedicated application and entering change monitoring points.

[0850] A "change monitoring point" refers to detailed information about a web page that a user wants to monitor, such as its URL, application path, specific strings of text, images, or layout elements.

[0851] A "server" is a device or system that receives monitoring points from users, retrieves data from the target web page or application, compares it with the monitoring points, and notifies the user of the results.

[0852] A "terminal" is a device operated by the user, which receives input from monitoring points and notifications from the server and displays them to the user.

[0853] "Data acquisition means" refers to the means by which a server periodically or trigger-based acquires data such as the HTML source of a target web page or screenshots of an application.

[0854] "Comparison means" refers to methods for verifying whether data acquired by a server matches data from a change monitoring point, and includes technologies such as optical character recognition, image recognition, and DOM analysis.

[0855] "Notification methods" refer to the means by which the server informs the user of the comparison results, and include email, dashboards, push notifications, etc.

[0856] Optical Character Recognition (OCR) is a technology that extracts characters from screenshots and compares those characters to the expected values ​​of monitoring points.

[0857] "Image recognition" is a technology that identifies images within a captured screenshot and compares them to the expected images of the monitoring point.

[0858] "DOM analysis" is a technique that analyzes the HTML source of a web page to verify whether the placement of elements matches the expected positions.

[0859] This invention is a system for automatically monitoring changes to web pages and applications and notifying users. Specific embodiments for carrying out this invention are described below.

[0860] User-configured monitoring points

[0861] Users input change monitoring points using the system's administration screen or a dedicated application. For example, they input the URL of the web page they want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). The entered information is sent from the terminal to the server in real time. The terminals used in this process include browsers and mobile applications.

[0862] Data acquisition by the server

[0863] The server uses a scheduler to periodically or trigger-based retrieve data from target web pages or applications. For web pages, it issues HTTP requests to download the HTML source. For applications, it uses automation tools (e.g., Selenium) to take screenshots.

[0864] Data comparison

[0865] The server compares the acquired data with the monitoring points. Specifically, it uses the following method:

[0866] Text checking: Use an Optical Character Recognition (OCR) tool (e.g., Tesseract) to extract text from screenshots and compare it to the expected values ​​of the monitoring points.

[0867] Image check: Compare the image in the screenshot, obtained using an image recognition algorithm (e.g., OpenCV), with the expected image.

[0868] Layout check: Perform DOM analysis to verify that the placement of elements on the webpage matches the expected positions.

[0869] Notification of results

[0870] The server analyzes the comparison results, and if a discrepancy is detected, it notifies the user of the details. Notification methods include email, dashboard, and push notifications. When a notification occurs, the device displays the notification received from the server to the user.

[0871] Specific example

[0872] Example 1: Monitoring changes to web page heading text

[0873] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[0874] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[0875] Example 2: Monitoring changes in application button positions

[0876] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[0877] Server: Periodically take screenshots of the application and use an image recognition algorithm (e.g., OpenCV) to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[0878] Example of a prompt

[0879] Please describe a system that notifies you when the heading text of a specific webpage changes.

[0880] "Please explain how to implement a system that notifies you when the position of a specific button in an application changes."

[0881] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[0882] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0883] Step 1: The user enters the change monitoring point.

[0884] Overview: Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and details of the monitoring points (text, images, layout elements).

[0885] Input: Web page URL, application path, and monitoring point details.

[0886] Specific operation: The user launches a browser or mobile app, enters their login credentials, and accesses the system. Next, they enter the URL or application path into a formatted form and specify details for each monitoring point (e.g., heading text, button location, etc.). Once the input is complete, they press the submit button.

[0887] Output: Request data containing the input monitoring point information.

[0888] Step 2: The terminal sends the monitoring point to the server.

[0889] Overview: Sends entered monitoring point information to the server in real time.

[0890] Input: Request data (monitoring point information entered by the user).

[0891] Specific operation: The terminal creates an AJAX request and sends the user-entered monitoring point information to the server. The data sent includes the type of monitoring point (string, image, layout element) and the expected value.

[0892] Output: Monitoring point information is sent to the server.

[0893] Step 3: The server retrieves the data.

[0894] Overview: The server uses a scheduler to retrieve data from a target web page or application periodically or trigger-based.

[0895] Input: Information on monitoring points and scheduling information.

[0896] Specific operation: The scheduler on the server runs at set time intervals to trigger the specified action. Specifically, for web pages, it issues an HTTP request to download the HTML source. For applications, it uses an automation tool (e.g., Selenium) to take a screenshot.

[0897] Output: Retrieved HTML source and screenshot data.

[0898] Step 4: The server compares the data with the monitoring point.

[0899] Overview: Compare the acquired data with the monitoring points.

[0900] Input: Acquired HTML source, screenshot data, and monitoring point information.

[0901] Specific operation: The server calls a module (e.g., BeautifulSoup, Tesseract) to parse the acquired HTML source or screenshot data and compares it to the monitoring points. For string checks, an optical character recognition (OCR) tool is used to extract characters from the screenshot and compare them to the expected values ​​of the monitoring points. For image checks, an image recognition algorithm is used to compare the images in the screenshot to the expected images. For layout checks, DOM analysis is performed to check whether the elements of the web page are in the expected positions.

[0902] Output: Comparison results (match / mismatch information).

[0903] Step 5: The server notifies the user of the comparison results.

[0904] Overview: The server analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details.

[0905] Input: Comparison result data.

[0906] Specific operation: The server logs the results to a log file and initiates a process to notify the user (e.g., sending an email using SMTP, or a push notification via an API call). When a notification occurs, the server sends details to the user using the configured method (e.g., email, dashboard, or push notification).

[0907] Output: Notification message to the user.

[0908] Step 6: The device displays a notification message to the user.

[0909] Overview: The device displays notifications received from the server to the user.

[0910] Input: Notification message from the server.

[0911] Specific operation: The device receives a response from the server, parses the notification content, and informs the user via a dashboard screen, push notification, or email notification. The user checks the notification and takes the necessary action.

[0912] Output: The displayed notification message.

[0913] (Application Example 1)

[0914] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0915] In conventional systems, manual monitoring of UI changes for web pages and applications was the norm, a time-consuming and laborious process. Furthermore, early detection of anomalies was difficult, hindering system quality maintenance and cost reduction. This problem was particularly pronounced in business systems such as those in logistics centers, where real-time UI change monitoring and rapid notification were essential.

[0916] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0917] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of a target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, and means for displaying and notifying the monitoring results in real time via smart glasses. This makes it possible to monitor system and application UI changes in real time at a logistics center and to promptly notify when an anomaly occurs.

[0918] A "change monitoring point" refers to a specific element or data within a web page or application that a user chooses to monitor.

[0919] A "server" refers to a computing system that receives monitoring points sent by users, acquires and compares the target data, and notifies the user of the results.

[0920] A "web page" is a type of information content provided on the internet, specifically a document written in HTML format.

[0921] An "application" refers to a software program that runs on a computer.

[0922] "Acquisition method" refers to the function that the server uses to acquire the HTML source of a web page or screenshots of an application.

[0923] "Comparison means" refers to a function that compares acquired data with monitoring points entered by the user and confirms whether or not they match.

[0924] "Notification method" refers to a function for communicating comparison results to the user.

[0925] "Smart glasses" refer to a type of wearable device, specifically glasses-shaped devices equipped with a transparent display that show notifications and information to the user in real time.

[0926] "Real-time display" refers to a method of presenting the results of data acquisition and processing to the user immediately.

[0927] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data from the target web page or application, compares the retrieved data with the monitoring points, and notifies the user of the results. Furthermore, by displaying the notification results in real time on smart glasses, immediate action can be taken at sites such as logistics centers.

[0928] Hardware and software used

[0929] Hardware:

[0930] Smart Glasses

[0931] software:

[0932] Python

[0933] HTTP Requests Library (requests)

[0934] OCR tool (pytesseract)

[0935] Image processing library (Pillow)

[0936] Processing flow

[0937] Users log in to a dedicated management screen or application and enter monitoring points. These monitoring points include web page URLs, specific strings, images, and layout elements. These monitoring points are sent to the server in real time.

[0938] The server periodically or trigger-based, based on its configuration, retrieves the HTML source of the target webpage or screenshots of the application. For webpages, it issues an HTTP request and downloads the HTML source. For applications, it uses an automated tool to take screenshots and extracts text from the images using a Python OCR tool (pytesseract).

[0939] The server compares the acquired data with the monitoring points. This includes the following processes:

[0940] String check: Verify that the extracted text matches the expected value.

[0941] Image check: Use an image processing library to verify that a specific image in the screenshot matches the expected image.

[0942] Layout check: Performs DOM analysis of the HTML source to verify that specific elements are located in their expected positions.

[0943] Based on the comparison results, the server will notify the user of any discrepancies detected. Notification methods include email, dashboards, and push notifications. Furthermore, displaying notification results in real time via smart glasses enables rapid response in the field.

[0944] Specific example

[0945] For example, while a logistics center management staff member is wearing smart glasses and working, they can monitor in real time whether the title of the management system's login page has changed from "Management System." In this way, changes to the system and application UI are monitored, and if an anomaly is detected, a notification is immediately displayed on the smart glasses, enabling a quick response.

[0946] Example of a prompt

[0947] The system monitors whether the title of the login page has been changed from "Management System" and sends a notification immediately if a change is detected.

[0948] This invention can help maintain system quality and reduce maintenance costs in various business environments, including logistics centers.

[0949] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0950] Step 1:

[0951] Users access the management screen or a dedicated application and enter the URL or path of the web page or application they want to monitor, as well as monitoring points (e.g., important strings or image patterns).

[0952] Input: Web page URL, monitoring point information (string, image, layout element)

[0953] Output: Input information

[0954] Step 2:

[0955] The terminal transmits the entered monitoring point information to the server in real time.

[0956] Input: Monitoring point information entered by the user.

[0957] Output: Monitoring point information sent to the server

[0958] Step 3:

[0959] The server retrieves data from target web pages and applications periodically or as needed, based on a scheduler or user-initiated triggers.

[0960] Input: URL of the webpage or application path to be monitored.

[0961] Output: HTML source of the retrieved webpage or a screenshot of the application.

[0962] Step 4:

[0963] The server analyzes the HTML source of the acquired webpage or a screenshot of the application and compares it to monitoring points. For text checks, OCR is used to extract characters from the screenshot and compare them to the expected values. For image checks, an image recognition algorithm is used. For layout checks, DOM analysis is performed.

[0964] Input: Acquired HTML source, screenshots, user-entered monitoring point information

[0965] Output: Analysis result (match, mismatch)

[0966] Step 5:

[0967] Based on the comparison results, the server will notify the user of any discrepancies with the monitoring points, providing detailed information. Notification methods include email, dashboards, and push notifications.

[0968] Input: Analysis results (comparison results with monitoring points)

[0969] Output: Notifications to users (email, dashboard, push notifications)

[0970] Step 6:

[0971] The server displays notification results on smart glasses in real time, enabling immediate response on-site.

[0972] Input: Notification result

[0973] Output: Real-time display on smart glasses

[0974] Specific example:

[0975] For example, if a user sets the login page of a logistics center's management system as a monitoring point, the system will periodically retrieve the HTML source of that page, and if the characters extracted by OCR do not match "management system," the user will be notified of the mismatch and displayed on their smart glasses.

[0976] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[0977] This invention combines a system in which the user inputs change monitoring points and sends them to a server with an emotion engine to recognize the user's emotions in response to notifications and optimize the response. The server periodically or as needed acquires data (HTML source or screenshots) of the target web page or application and compares the acquired data with the monitoring points. If the results do not match, it notifies the user of the details and, by recognizing the user's emotions, automatically adjusts the priority and format of the notification. This mechanism enables efficient monitoring of UI changes in applications and web pages, facilitates early detection of defects, and allows for flexible responses in accordance with the user's emotions.

[0978] Program Processing Overview

[0979] 1. User input of monitoring points

[0980] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[0981] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[0982] 2. Data Acquisition

[0983] Server: Configure the scheduler to retrieve data from the target web page or application periodically or as needed.

[0984] For web pages: Issue an HTTP request and retrieve the HTML source.

[0985] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[0986] 3. Comparison with monitoring points

[0987] Server: Compares the acquired data with the monitoring points.

[0988] String checking: Text is extracted from the screenshot using OCR (Optical Character Recognition) technology and compared to the expected value.

[0989] Image check: Compare images in screenshots obtained using an image recognition algorithm (e.g., OpenCV) with a default image.

[0990] Layout check: Analyzes the HTML DOM tree and the element placement in screenshots to verify that it matches the expected layout.

[0991] 4. Notification of Results

[0992] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[0993] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[0994] For email: Convert the generated report to text format and send it to the user using the email sending library.

[0995] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[0996] For push notifications: Use the appropriate API to send push notifications to the user's device.

[0997] 5. Emotion Recognition and Response

[0998] Server: Uses an emotion engine to recognize the emotions of users who receive notifications. Emotion recognition utilizes natural language processing techniques to analyze the text of the feedback sent by the user.

[0999] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it provides more detailed explanations and prompt follow-up.

[1000] Specific example

[1001] Example 1: Monitoring changes to web page heading text

[1002] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[1003] Server: Periodically retrieves web pages via HTTP requests and extracts the heading text. Compares this to the user's set expectations and notifies the user of any discrepancies.

[1004] Server: The emotion engine analyzes user feedback after receiving a notification and provides additional support information if the user is dissatisfied.

[1005] Example 2: Monitoring changes in application button positions

[1006] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[1007] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[1008] Server: The emotion engine analyzes user feedback from notifications and adjusts notification priority and format based on user interests and emotions.

[1009] This system automates the manual process of checking changes, improving accuracy and efficiency, and also provides a superior user experience by enabling flexible responses that respond to user emotions.

[1010] The following describes the processing flow.

[1011] Step 1:

[1012] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[1013] Step 2:

[1014] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[1015] Step 3:

[1016] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[1017] Step 4:

[1018] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[1019] Step 5:

[1020] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[1021] For web pages: Issue an HTTP request and retrieve the HTML source.

[1022] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[1023] Step 6:

[1024] Server: Analyzes the acquired data and compares it with the monitoring points.

[1025] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value. For example, it checks if the heading text matches "Welcome to Example!".

[1026] For image checking: The acquired screenshot is compared with the expected image using an image recognition algorithm (e.g., OpenCV). For example, it checks whether a specified logo image exists on the screen.

[1027] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement. For example, check if a button is in a specific position (bottom right of the screen).

[1028] Step 7:

[1029] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[1030] Step 8:

[1031] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[1032] For email: Convert the generated report to text format and send it to the user using the email sending library.

[1033] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[1034] For push notifications: Use the appropriate API to send push notifications to the user's device.

[1035] Step 9:

[1036] Server: Uses an emotion engine to recognize the user's emotions in response to notifications. If the user sends feedback in response to a notification, the text is analyzed using natural language processing techniques. For example, if the content of the feedback indicates a negative emotion, that emotion is recognized.

[1037] Step 10:

[1038] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it generates notifications requiring more detailed information or a quicker response. Conversely, if there is a lot of positive feedback, it adjusts the tone of notifications to improve the user experience.

[1039] Step 11:

[1040] User: Receive notifications and review monitoring results and additional information. Send feedback as needed to ensure the system takes appropriate action.

[1041] (Example 2)

[1042] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1043] Traditional web page and application change monitoring systems, while having mechanisms to notify users of changes in monitoring points, lack mechanisms to adjust the priority and format of notifications based on user sentiment. This leads to problems such as decreased user satisfaction and efficiency. Furthermore, an increase in the volume of notifications risks important notifications being overlooked. In addition, analyzing and responding to feedback takes time, making rapid responses difficult.

[1044] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1045] In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to recognize the emotions of the user who received the notification using an emotion engine, and means for the server to automatically adjust the priority and format of the notification based on the user's emotions. This enables appropriate notifications in accordance with the user's emotions, improves user satisfaction, and allows for quick and efficient responses.

[1046] A "change monitoring point" refers to specific data or elements (e.g., text, images, layout elements) on a webpage or application that a user wants to monitor.

[1047] A "server" refers to a computer system that receives, retrieves, compares, notifies, and performs sentiment recognition on data from change monitoring points.

[1048] A "user" refers to a person or organization that uses the system to set up change monitoring points and receives the results.

[1049] "Means of acquisition" refers to the functions that a server uses to acquire things like the HTML source of a web page or screenshots of an application.

[1050] "Means of comparison" refers to a function that compares data acquired by the server with monitoring points set by the user to check if they match.

[1051] "Notification methods" refer to the functions that allow the server to send alerts and reports to users based on comparison results.

[1052] An "emotion engine" refers to a software component that analyzes user feedback on notifications and recognizes their emotions.

[1053] "Means of recognizing emotions" refers to a function that uses an emotion engine to analyze text data from user feedback and determine the user's emotional state.

[1054] "Means for automatically adjusting notification priority and format" refers to a function that appropriately changes the urgency and display format of notifications based on the user's perceived emotions.

[1055] This invention is a system in which a user monitors specific parts (change monitoring points) of a web page or application and sends those changes to a server. Furthermore, the server has the ability to recognize the user's sentiment towards the notification and automatically optimize its response.

[1056] User input of monitoring points

[1057] Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and the monitoring point. Specifically, they enter detailed information such as text, images, and layout elements, and also set the monitoring frequency and notification method.

[1058] Data acquisition and comparison

[1059] The server configures a scheduler to periodically or as needed retrieve data from the target web page or application. For web pages, it issues an HTTP request to retrieve the HTML source. For applications, it uses automation tools such as Selenium to launch the application and take screenshots. Next, it compares the retrieved data with the monitoring points. For string checking, it uses OCR technology (e.g., Tesseract OCR), and for image checking, it uses image recognition algorithms (e.g., OpenCV). For layout checking, it analyzes the HTML DOM tree or the arrangement of elements in the screenshot.

[1060] Notification of comparison results

[1061] The server analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found. This report is intended to notify the user. Notification methods include email, dashboards, and push notifications, and may also utilize APIs such as SMTP libraries and Firebase Cloud Messaging.

[1062] Using an Emotion Engine

[1063] The server uses an emotion engine to recognize the emotions of users who receive notifications. It analyzes the text of the feedback using natural language processing techniques. Specifically, it uses services such as the Google Cloud Natural Language API to determine the user's emotional state. If the emotion engine detects user dissatisfaction or agitation, it automatically adjusts the priority and format of the notification and provides detailed explanations and prompt follow-up.

[1064] example

[1065] Example 1: Monitoring changes to web page heading text

[1066] Users log in to the administration panel and set the headline text of a specific webpage as a monitoring point. For example, they might enter "URL: https: / / example.com, Expected headline: 'Latest News'". The server periodically issues HTTP requests to retrieve the webpage, parses the headline text, and compares it to the expected value. If a mismatch is detected, the user is notified by email.

[1067] Example 2: Monitoring changes in application button positions

[1068] The user sets the location of the "Submit" button on a specific application screen as a monitoring point. For example, they might enter "Application path: / usr / local / app, Expected button location: (100, 200)". The server periodically uses Selenium to take screenshots of the application and uses image recognition technology to detect the button's location. If the location differs from the expected value, an alert is sent to the user via push notification.

[1069] Example of a prompt

[1070] "Design a system that notifies users when specific heading text on a webpage changes. Integrate an emotion engine to adapt the format of the notification based on the user's sentiment."

[1071] This invention enables automatic detection of changes and flexible responses that respond to user emotions, thereby improving user satisfaction and allowing for quick and efficient responses.

[1072] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1073] Step 1:

[1074] The user enters the change monitoring point.

[1075] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). You can also set the monitoring frequency and notification method here. For example, the input might be "URL: https: / / example.com, Monitoring point: 'Latest News', Notification method: Email, Frequency: Daily".

[1076] Input: URL, monitoring point, notification method, monitoring frequency

[1077] Output: Input information is sent to the server in JSON format. Specifically, it takes the form of "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}".

[1078] Terminal: Converts the entered information into JSON format and sends it to the server in real time.

[1079] Step 2:

[1080] Data acquisition

[1081] Server: Configures a scheduler to retrieve data from the target web page or application based on a specified frequency.

[1082] Input: Monitoring configuration information in JSON format, specifically "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}"

[1083] Output: Retrieved HTML source and screenshots.

[1084] Server: For web pages, issue an HTTP request to retrieve the HTML source. For example, use the requests library to download HTML from "https: / / example.com". For applications, use Selenium to launch the application and take a screenshot.

[1085] Step 3:

[1086] Comparison of acquired data and monitoring points

[1087] Server: Compares the acquired data with the monitoring points.

[1088] Input: Retrieved HTML source or screenshot, monitoring points (string, image, layout element)

[1089] Output: Comparison results. A detailed report will be generated if there are discrepancies.

[1090] Server: For string checking, OCR technology (e.g., Tesseract OCR) is used to extract characters from the screenshot and compare them to the expected string. For example, it checks if the string "latest news" is included. For image checking, OpenCV is used to obtain images within the screenshot and compare them to a default image. The DOM tree and element placement on the screenshot are analyzed to check if they match the expected placement.

[1091] Step 4:

[1092] Notification of results

[1093] Server: Analyzes the comparison results and generates a detailed report if a discrepancy is detected. The report includes the monitored item, the actual value detected, the expected value, and detailed information about the discrepancy found. Specifically, it might include information such as "Monitoring point: 'Latest news', Detected value: 'Old news', Details: Headline text is different."

[1094] Input: Comparison results, detailed information on discrepancies

[1095] Output: Report to send to the user

[1096] Server: Sends notifications to users via email, dashboard, or push notification. For example, for email, it uses the SMTP library to send report content to the user in text format. For dashboard display, it displays the report on the frontend.

[1097] Step 5:

[1098] Emotion recognition and response

[1099] Server: Uses an emotion engine to recognize the emotions of the user who received the notification. Analyzes the user's feedback text using natural language processing techniques.

[1100] Input: User feedback text regarding the comparison results

[1101] Output: The user's emotional state. For example, emotional states such as "positive," "negative," or "neutral."

[1102] Server: Uses Google Cloud Natural Language API and other tools to analyze user feedback text and determine emotional state. For example, it recognizes negative emotion in feedback such as "I'm unhappy with this change." Based on the recognized emotion, it automatically adjusts the priority and format of notifications, providing detailed explanations and prompt follow-up.

[1103] (Application Example 2)

[1104] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1105] Traditional web page and application change monitoring systems could notify users of changes, but they lacked the means to adjust the priority and format of notifications based on user sentiment. As a result, notifications were often inadequate, making it difficult to obtain useful user feedback and hindering the optimization of effective advertising and content management. A mechanism is needed to improve this shortcoming and enhance the user experience.

[1106] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to analyze the user's emotions, and means for the server to adjust the priority of notifications based on the analyzed emotions. This enables flexible responses in accordance with the user's emotions and allows for the optimization of advertising and content management.

[1107] A "change monitoring point" is information used by a user to specify a particular part of a web page or application that they want to monitor.

[1108] A "server" is a computer system used to process and manage data over a network.

[1109] "Acquisition method" refers to the method by which a server retrieves data from web pages and applications.

[1110] "Comparison means" refers to the process of matching acquired data with change monitoring points entered by the user.

[1111] "Notification method" refers to the method by which the server informs the user of the comparison results.

[1112] "Means for analyzing emotions" refers to methods by which a server detects and analyzes emotions from user feedback.

[1113] "Means for adjusting notification priority" refers to methods for changing the importance and format of notifications based on analyzed user sentiment.

[1114] "Data" refers to information such as the HTML source of a web page or screenshots of an application.

[1115] "HTML source" is a markup language used to define the structure and content of a web page.

[1116] A "screenshot" refers to a computer screen display saved as an image file.

[1117] An "emotion engine" is a technology or software used to identify and analyze a user's emotions from text, audio, and other sources.

[1118] This invention describes how to implement a system for users to monitor changes to specific web pages or applications. The system includes the steps of setting monitoring points, acquiring data, comparing data, providing notifications, and performing sentiment analysis.

[1119] 1. User input of monitoring points

[1120] Users enter the URL of the webpage or application path they want to monitor, along with the monitoring points (e.g., specific text, images, or layout elements), into the system's administration screen or a dedicated application using a means to input change monitoring points. They can also configure the monitoring frequency and notification method as needed. This information is sent to the server in real time.

[1121] 2. Data Acquisition

[1122] The server automatically retrieves data from target web pages and applications periodically or as needed. For web pages, it issues HTTP requests to retrieve the HTML source; for applications, it uses automation tools (e.g., Selenium) to take screenshots.

[1123] 3. Comparison of data and monitoring points

[1124] The server compares the acquired data with monitoring points. OCR technology (e.g., pytesseract) is used for string checking, and image processing algorithms (e.g., OpenCV) are used for image recognition. Layout checks include parsing the HTML DOM tree and analyzing the element placement in screenshots.

[1125] 4. Notification of Results

[1126] The server analyzes the comparison results and, if discrepancies are detected, generates a report and notifies the user. Notification methods include email, dashboards, and push notifications. Email notifications use an email sending library (e.g., smtplib). Dashboard displays use frontend technologies (e.g., React or Vue.js).

[1127] 5. Emotion Recognition and Response

[1128] The server uses an emotion engine to analyze user feedback and determine their emotions. Natural language processing techniques (e.g., Hugging Face's transformers library) are used for emotion recognition. Notification priorities and formats are automatically adjusted based on the user's emotions. For example, if a user expresses dissatisfaction, more detailed explanations and prompt follow-up are provided.

[1129] Specific example

[1130] URL: http: / / example.com / ad

[1131] Monitoring point: Expected ad text (e.g., "New product announcement!")

[1132] Feedback: Let's assume a user gives feedback saying, "What is this ad? It's completely useless." In response to this feedback, the sentiment analysis engine detects negative emotions, and the system provides detailed follow-up information and improvement suggestions.

[1133] Example of a prompt

[1134] "What is this ad? It's completely useless."

[1135] In this way, we can provide a system that can respond flexibly to the user's intentions and emotions, thereby optimizing advertising and content management.

[1136] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1137] Step 1:

[1138] The user enters change monitoring points. This includes the URL of the webpage or application path to be monitored, and details of the monitoring point (e.g., specific text, image, or layout element). This information is sent from the terminal to the server in real time. The entered monitoring points are stored in the server-side database.

[1139] Step 2:

[1140] The server retrieves data from the target webpage or application. This data retrieval is performed periodically or as needed. For webpages, it issues an HTTP request to retrieve the HTML source; for applications, it uses an automation tool (e.g., Selenium) to take screenshots. The HTML source and screenshots are stored in the file system or database.

[1141] Step 3:

[1142] The server compares the acquired data with the monitoring points set by the user. Specific text and layout elements are extracted from the HTML source, and necessary information is extracted from screenshots using OCR technology (e.g., pytesseract) or image recognition algorithms (e.g., OpenCV). This extracted data is then compared with the expected values ​​for the monitoring points. If the comparison results do not match, details of the discrepancies are generated.

[1143] Step 4:

[1144] The server notifies the user of the comparison results. Notification methods include email, dashboard display, and push notifications. Email sending uses an email sending library (e.g., smtplib), dashboard display uses frontend technologies (e.g., React or Vue.js), and appropriate APIs are used for push notifications. Detailed information about the discrepancies and the comparison results are generated as a notification message and sent to the user.

[1145] Step 5:

[1146] The user receives a notification. The user who receives the notification enters feedback into the system. This feedback is sent to the server in text format.

[1147] Step 6:

[1148] The server analyzes user feedback using an emotion engine. Natural language processing techniques (e.g., Hugging Face's transformers library) are used to extract the user's emotion (e.g., positive, negative, neutral) from the feedback text. The extracted emotion information is stored in a database.

[1149] Step 7:

[1150] The server adjusts notification priorities based on analyzed sentiment. For example, if a user expresses dissatisfaction, the system provides a detailed explanation and prompt follow-up. On the other hand, if positive sentiment is detected, the standard response is maintained. The adjusted notification content is then sent back to the user, and appropriate action is taken.

[1151] In this way, the system automatically monitors changes to web pages and applications based on user monitoring points, and can respond flexibly according to user sentiment. As a result, advertising and content management are optimized.

[1152] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1153] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1154] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.

[1155] [Fourth Embodiment]

[1156] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1157] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1158] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1159] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1160] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[1161] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).

[1162] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1163] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1164] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[1165] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1166] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1167] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[1168] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1169] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data (HTML source or screenshots) of the target web page or application and compares the retrieved data with the monitoring points. If the results do not match, the server notifies the user of the details. This mechanism enables efficient monitoring of UI changes in applications and web pages, and facilitates the early detection of defects.

[1170] Program Processing Overview

[1171] 1. User input of monitoring points

[1172] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (strings, images, layout elements).

[1173] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[1174] 2. Data Acquisition

[1175] Server: Uses a scheduler to retrieve data from the target web page or application periodically or trigger-based.

[1176] For web pages: Issue an HTTP request and download the HTML source.

[1177] For applications: Use an automated tool to take screenshots.

[1178] 3. Comparison with monitoring points

[1179] Server: Compares the acquired data with the monitoring points.

[1180] Text checking: Optical character recognition (OCR) is used to extract text from the screenshot and compare it to the expected value.

[1181] Image check: The image in the screenshot, obtained using an image recognition algorithm, is compared to a default image.

[1182] Layout check: Perform DOM analysis to verify that the placement of elements matches the expected positions.

[1183] 4. Notification of Results

[1184] Server: Analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details. Notification methods include email, dashboard, and push notifications.

[1185] Terminal: Displays notifications received from the server to the user.

[1186] Specific example

[1187] Example 1: Monitoring changes to web page heading text

[1188] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[1189] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[1190] Example 2: Monitoring changes in application button positions

[1191] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[1192] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Verify that it is in the expected location and notify the user if it is not.

[1193] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[1194] The following describes the processing flow.

[1195] Step 1:

[1196] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[1197] Step 2:

[1198] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[1199] Step 3:

[1200] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[1201] Step 4:

[1202] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[1203] Step 5:

[1204] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[1205] For web pages: Issue an HTTP request and retrieve the HTML source.

[1206] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[1207] Step 6:

[1208] Server: Analyzes the acquired data and compares it with the monitoring points.

[1209] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value.

[1210] For image checking: The acquired screenshot and the expected image are compared using an image recognition algorithm (e.g., OpenCV).

[1211] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement.

[1212] Step 7:

[1213] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[1214] Step 8:

[1215] Server: Based on the generated report, it sends notifications to the user. Notification methods include email, dashboard display, and push notifications.

[1216] For email: Convert the generated report to text format and send it to the user using the email sending library.

[1217] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[1218] For push notifications: Use the appropriate API to send push notifications to the user's device.

[1219] Step 9:

[1220] User: Receive notifications and review monitoring results. Take corrective or additional actions as needed.

[1221] (Example 1)

[1222] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1223] Traditional change monitoring systems require users to manually check the status of web pages and applications, which is inefficient and makes it difficult to overlook changes or detect problems early. Furthermore, managing multiple monitoring points simultaneously requires significant human resources and time.

[1224] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1225] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to periodically or trigger-based acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to perform the comparison by optical character recognition, image recognition, or DOM analysis, means for the server to notify the user of the comparison results, and means for the terminal to display the notification received from the server to the user. This makes it possible to automatically detect changes to the target web page or application and notify the user quickly and accurately.

[1226] A "user" is someone who uses the system by operating the system's administration screen or dedicated application and entering change monitoring points.

[1227] A "change monitoring point" refers to detailed information about a web page that a user wants to monitor, such as its URL, application path, specific strings of text, images, or layout elements.

[1228] A "server" is a device or system that receives monitoring points from users, retrieves data from the target web page or application, compares it with the monitoring points, and notifies the user of the results.

[1229] A "terminal" is a device operated by the user, which receives input from monitoring points and notifications from the server and displays them to the user.

[1230] "Data acquisition means" refers to the means by which a server periodically or trigger-based acquires data such as the HTML source of a target web page or screenshots of an application.

[1231] "Comparison means" refers to methods for verifying whether data acquired by a server matches data from a change monitoring point, and includes technologies such as optical character recognition, image recognition, and DOM analysis.

[1232] "Notification methods" refer to the means by which the server informs the user of the comparison results, and include email, dashboards, push notifications, etc.

[1233] Optical Character Recognition (OCR) is a technology that extracts characters from screenshots and compares those characters to the expected values ​​of monitoring points.

[1234] "Image recognition" is a technology that identifies images within a captured screenshot and compares them to the expected images of the monitoring point.

[1235] "DOM analysis" is a technique that analyzes the HTML source of a web page to verify whether the placement of elements matches the expected positions.

[1236] This invention is a system for automatically monitoring changes to web pages and applications and notifying users. Specific embodiments for carrying out this invention are described below.

[1237] User-configured monitoring points

[1238] Users input change monitoring points using the system's administration screen or a dedicated application. For example, they input the URL of the web page they want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). The entered information is sent from the terminal to the server in real time. The terminals used in this process include browsers and mobile applications.

[1239] Data acquisition by the server

[1240] The server uses a scheduler to periodically or trigger-based retrieve data from target web pages or applications. For web pages, it issues HTTP requests to download the HTML source. For applications, it uses automation tools (e.g., Selenium) to take screenshots.

[1241] Data comparison

[1242] The server compares the acquired data with the monitoring points. Specifically, it uses the following method:

[1243] Text checking: Use an Optical Character Recognition (OCR) tool (e.g., Tesseract) to extract text from screenshots and compare it to the expected values ​​of the monitoring points.

[1244] Image check: Compare the image in the screenshot, obtained using an image recognition algorithm (e.g., OpenCV), with the expected image.

[1245] Layout check: Perform DOM analysis to verify that the placement of elements on the webpage matches the expected positions.

[1246] Notification of results

[1247] The server analyzes the comparison results, and if a discrepancy is detected, it notifies the user of the details. Notification methods include email, dashboard, and push notifications. When a notification occurs, the device displays the notification received from the server to the user.

[1248] Specific example

[1249] Example 1: Monitoring changes to web page heading text

[1250] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[1251] Server: Periodically retrieves configured web pages via HTTP requests and extracts the headline text. Compares this to user-defined expectations and notifies the user of any discrepancies.

[1252] Example 2: Monitoring changes in application button positions

[1253] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[1254] Server: Periodically take screenshots of the application and use an image recognition algorithm (e.g., OpenCV) to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[1255] Example of a prompt

[1256] Please describe a system that notifies you when the heading text of a specific webpage changes.

[1257] "Please explain how to implement a system that notifies you when the position of a specific button in an application changes."

[1258] This system significantly improves work efficiency by automating the manual process of checking changes. Furthermore, early detection of defects allows for reduced maintenance costs while maintaining system quality.

[1259] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1260] Step 1: The user enters the change monitoring point.

[1261] Overview: Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and details of the monitoring points (text, images, layout elements).

[1262] Input: Web page URL, application path, and monitoring point details.

[1263] Specific operation: The user launches a browser or mobile app, enters their login credentials, and accesses the system. Next, they enter the URL or application path into a formatted form and specify details for each monitoring point (e.g., heading text, button location, etc.). Once the input is complete, they press the submit button.

[1264] Output: Request data containing the input monitoring point information.

[1265] Step 2: The terminal sends the monitoring point to the server.

[1266] Overview: Sends entered monitoring point information to the server in real time.

[1267] Input: Request data (monitoring point information entered by the user).

[1268] Specific operation: The terminal creates an AJAX request and sends the user-entered monitoring point information to the server. The data sent includes the type of monitoring point (string, image, layout element) and the expected value.

[1269] Output: Monitoring point information is sent to the server.

[1270] Step 3: The server retrieves the data.

[1271] Overview: The server uses a scheduler to retrieve data from a target web page or application periodically or trigger-based.

[1272] Input: Information on monitoring points and scheduling information.

[1273] Specific operation: The scheduler on the server runs at set time intervals to trigger the specified action. Specifically, for web pages, it issues an HTTP request to download the HTML source. For applications, it uses an automation tool (e.g., Selenium) to take a screenshot.

[1274] Output: Retrieved HTML source and screenshot data.

[1275] Step 4: The server compares the data with the monitoring point.

[1276] Overview: Compare the acquired data with the monitoring points.

[1277] Input: Acquired HTML source, screenshot data, and monitoring point information.

[1278] Specific operation: The server calls a module (e.g., BeautifulSoup, Tesseract) to parse the acquired HTML source or screenshot data and compares it to the monitoring points. For string checks, an optical character recognition (OCR) tool is used to extract characters from the screenshot and compare them to the expected values ​​of the monitoring points. For image checks, an image recognition algorithm is used to compare the images in the screenshot to the expected images. For layout checks, DOM analysis is performed to check whether the elements of the web page are in the expected positions.

[1279] Output: Comparison results (match / mismatch information).

[1280] Step 5: The server notifies the user of the comparison results.

[1281] Overview: The server analyzes the comparison results and, if a discrepancy is detected, notifies the user of the details.

[1282] Input: Comparison result data.

[1283] Specific operation: The server logs the results to a log file and initiates a process to notify the user (e.g., sending an email using SMTP, or a push notification via an API call). When a notification occurs, the server sends details to the user using the configured method (e.g., email, dashboard, or push notification).

[1284] Output: Notification message to the user.

[1285] Step 6: The device displays a notification message to the user.

[1286] Overview: The device displays notifications received from the server to the user.

[1287] Input: Notification message from the server.

[1288] Specific operation: The device receives a response from the server, parses the notification content, and informs the user via a dashboard screen, push notification, or email notification. The user checks the notification and takes the necessary action.

[1289] Output: The displayed notification message.

[1290] (Application Example 1)

[1291] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1292] In conventional systems, manual monitoring of UI changes for web pages and applications was the norm, a time-consuming and laborious process. Furthermore, early detection of anomalies was difficult, hindering system quality maintenance and cost reduction. This problem was particularly pronounced in business systems such as those in logistics centers, where real-time UI change monitoring and rapid notification were essential.

[1293] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1294] In this invention, the server includes means for a user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of a target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, and means for displaying and notifying the monitoring results in real time via smart glasses. This makes it possible to monitor system and application UI changes in real time at a logistics center and to promptly notify when an anomaly occurs.

[1295] A "change monitoring point" refers to a specific element or data within a web page or application that a user chooses to monitor.

[1296] A "server" refers to a computing system that receives monitoring points sent by users, acquires and compares the target data, and notifies the user of the results.

[1297] A "web page" is a type of information content provided on the internet, specifically a document written in HTML format.

[1298] An "application" refers to a software program that runs on a computer.

[1299] "Acquisition method" refers to the function that the server uses to acquire the HTML source of a web page or screenshots of an application.

[1300] "Comparison means" refers to a function that compares acquired data with monitoring points entered by the user and confirms whether or not they match.

[1301] "Notification method" refers to a function for communicating comparison results to the user.

[1302] "Smart glasses" refer to a type of wearable device, specifically glasses-shaped devices equipped with a transparent display that show notifications and information to the user in real time.

[1303] "Real-time display" refers to a method of presenting the results of data acquisition and processing to the user immediately.

[1304] This invention is a system in which a user inputs change monitoring points and sends them to a server. The server periodically or as needed retrieves data from the target web page or application, compares the retrieved data with the monitoring points, and notifies the user of the results. Furthermore, by displaying the notification results in real time on smart glasses, immediate action can be taken at sites such as logistics centers.

[1305] Hardware and software used

[1306] Hardware:

[1307] Smart Glasses

[1308] software:

[1309] Python

[1310] HTTP Requests Library (requests)

[1311] OCR tool (pytesseract)

[1312] Image processing library (Pillow)

[1313] Processing flow

[1314] Users log in to a dedicated management screen or application and enter monitoring points. These monitoring points include web page URLs, specific strings, images, and layout elements. These monitoring points are sent to the server in real time.

[1315] The server periodically or trigger-based, based on its configuration, retrieves the HTML source of the target webpage or screenshots of the application. For webpages, it issues an HTTP request and downloads the HTML source. For applications, it uses an automated tool to take screenshots and extracts text from the images using a Python OCR tool (pytesseract).

[1316] The server compares the acquired data with the monitoring points. This includes the following processes:

[1317] String check: Verify that the extracted text matches the expected value.

[1318] Image check: Use an image processing library to verify that a specific image in the screenshot matches the expected image.

[1319] Layout check: Performs DOM analysis of the HTML source to verify that specific elements are located in their expected positions.

[1320] Based on the comparison results, the server will notify the user of any discrepancies detected. Notification methods include email, dashboards, and push notifications. Furthermore, displaying notification results in real time via smart glasses enables rapid response in the field.

[1321] Specific example

[1322] For example, while a logistics center management staff member is wearing smart glasses and working, they can monitor in real time whether the title of the management system's login page has changed from "Management System." In this way, changes to the system and application UI are monitored, and if an anomaly is detected, a notification is immediately displayed on the smart glasses, enabling a quick response.

[1323] Example of a prompt

[1324] The system monitors whether the title of the login page has been changed from "Management System" and sends a notification immediately if a change is detected.

[1325] This invention can help maintain system quality and reduce maintenance costs in various business environments, including logistics centers.

[1326] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1327] Step 1:

[1328] Users access the management screen or a dedicated application and enter the URL or path of the web page or application they want to monitor, as well as monitoring points (e.g., important strings or image patterns).

[1329] Input: Web page URL, monitoring point information (string, image, layout element)

[1330] Output: Input information

[1331] Step 2:

[1332] The terminal transmits the entered monitoring point information to the server in real time.

[1333] Input: Monitoring point information entered by the user.

[1334] Output: Monitoring point information sent to the server

[1335] Step 3:

[1336] The server retrieves data from target web pages and applications periodically or as needed, based on a scheduler or user-initiated triggers.

[1337] Input: URL of the webpage or application path to be monitored.

[1338] Output: HTML source of the retrieved webpage or a screenshot of the application.

[1339] Step 4:

[1340] The server analyzes the HTML source of the acquired webpage or a screenshot of the application and compares it to monitoring points. For text checks, OCR is used to extract characters from the screenshot and compare them to the expected values. For image checks, an image recognition algorithm is used. For layout checks, DOM analysis is performed.

[1341] Input: Acquired HTML source, screenshots, user-entered monitoring point information

[1342] Output: Analysis result (match, mismatch)

[1343] Step 5:

[1344] Based on the comparison results, the server will notify the user of any discrepancies with the monitoring points, providing detailed information. Notification methods include email, dashboards, and push notifications.

[1345] Input: Analysis results (comparison results with monitoring points)

[1346] Output: Notifications to users (email, dashboard, push notifications)

[1347] Step 6:

[1348] The server displays notification results on smart glasses in real time, enabling immediate response on-site.

[1349] Input: Notification result

[1350] Output: Real-time display on smart glasses

[1351] Specific example:

[1352] For example, if a user sets the login page of a logistics center's management system as a monitoring point, the system will periodically retrieve the HTML source of that page, and if the characters extracted by OCR do not match "management system," the user will be notified of the mismatch and displayed on their smart glasses.

[1353] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.

[1354] This invention combines a system in which the user inputs change monitoring points and sends them to a server with an emotion engine to recognize the user's emotions in response to notifications and optimize the response. The server periodically or as needed acquires data (HTML source or screenshots) of the target web page or application and compares the acquired data with the monitoring points. If the results do not match, it notifies the user of the details and, by recognizing the user's emotions, automatically adjusts the priority and format of the notification. This mechanism enables efficient monitoring of UI changes in applications and web pages, facilitates early detection of defects, and allows for flexible responses in accordance with the user's emotions.

[1355] Program Processing Overview

[1356] 1. User input of monitoring points

[1357] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[1358] Terminal: Sends the entered information to the server in real time. This information includes the type of monitoring point and the expected value.

[1359] 2. Data Acquisition

[1360] Server: Configure the scheduler to retrieve data from the target web page or application periodically or as needed.

[1361] For web pages: Issue an HTTP request and retrieve the HTML source.

[1362] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[1363] 3. Comparison with monitoring points

[1364] Server: Compares the acquired data with the monitoring points.

[1365] String checking: Text is extracted from the screenshot using OCR (Optical Character Recognition) technology and compared to the expected value.

[1366] Image check: Compare images in screenshots obtained using an image recognition algorithm (e.g., OpenCV) with a default image.

[1367] Layout check: Analyzes the HTML DOM tree and the element placement in screenshots to verify that it matches the expected layout.

[1368] 4. Notification of Results

[1369] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[1370] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[1371] For email: Convert the generated report to text format and send it to the user using the email sending library.

[1372] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[1373] For push notifications: Use the appropriate API to send push notifications to the user's device.

[1374] 5. Emotion Recognition and Response

[1375] Server: Uses an emotion engine to recognize the emotions of users who receive notifications. Emotion recognition utilizes natural language processing techniques to analyze the text of the feedback sent by the user.

[1376] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it provides more detailed explanations and prompt follow-up.

[1377] Specific example

[1378] Example 1: Monitoring changes to web page heading text

[1379] User: Log in to the system and set the headline text of a specific webpage as a monitoring point (enter the URL and the expected headline text).

[1380] Server: Periodically retrieves web pages via HTTP requests and extracts the heading text. Compares this to the user's set expectations and notifies the user of any discrepancies.

[1381] Server: The emotion engine analyzes user feedback after receiving a notification and provides additional support information if the user is dissatisfied.

[1382] Example 2: Monitoring changes in application button positions

[1383] User: Set the location of the "Submit" button on a specific application screen as a monitoring point (enter the application path and the expected button location).

[1384] Server: Periodically take screenshots of the application and use image recognition to detect the location of the "Submit" button. Check if it is in the expected location and notify the user if it is not.

[1385] Server: The emotion engine analyzes user feedback from notifications and adjusts notification priority and format based on user interests and emotions.

[1386] This system automates the manual process of checking changes, improving accuracy and efficiency, and also provides a superior user experience by enabling flexible responses that respond to user emotions.

[1387] The following describes the processing flow.

[1388] Step 1:

[1389] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring points (text, image, layout element). If necessary, also configure the monitoring frequency and notification method.

[1390] Step 2:

[1391] Terminal: Sends monitoring point information entered by the user to the server. At this time, the information is packaged using a data format such as JSON and securely sent to the server using the HTTPS protocol.

[1392] Step 3:

[1393] Server: Stores received monitoring point information in the database. Specifically, it stores information such as the web page URL, application path, monitoring point type, expected value, monitoring frequency, and notification settings.

[1394] Step 4:

[1395] Server: Configure a scheduler to periodically retrieve data from the target web page or application. Coulomb jobs or timers are used as the scheduler.

[1396] Step 5:

[1397] Server: Whenever the scheduler is triggered, it performs the process of retrieving the target data.

[1398] For web pages: Issue an HTTP request and retrieve the HTML source.

[1399] For applications: Use an automation tool (e.g., Selenium) to launch the application and take a screenshot.

[1400] Step 6:

[1401] Server: Analyzes the acquired data and compares it with the monitoring points.

[1402] For string checking: Specific text is extracted from HTML source or screenshots, characters are detected using OCR (Optical Character Recognition) technology, and compared to the expected value. For example, it checks if the heading text matches "Welcome to Example!".

[1403] For image checking: The acquired screenshot is compared with the expected image using an image recognition algorithm (e.g., OpenCV). For example, it checks whether a specified logo image exists on the screen.

[1404] For layout checks: Analyze the HTML DOM tree and the element placement in the screenshot to verify that it matches the expected placement. For example, check if a button is in a specific position (bottom right of the screen).

[1405] Step 7:

[1406] Server: Analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found.

[1407] Step 8:

[1408] Server: Based on the generated reports, it sends notifications to users. Notification methods include email, dashboards, and push notifications.

[1409] For email: Convert the generated report to text format and send it to the user using the email sending library.

[1410] For dashboards: Integrate with the frontend to display reports on dashboards in the browser or within the application.

[1411] For push notifications: Use the appropriate API to send push notifications to the user's device.

[1412] Step 9:

[1413] Server: Uses an emotion engine to recognize the user's emotions in response to notifications. If the user sends feedback in response to a notification, the text is analyzed using natural language processing techniques. For example, if the content of the feedback indicates a negative emotion, that emotion is recognized.

[1414] Step 10:

[1415] Server: Automatically adjusts notification priority and format based on user sentiment. For example, if a user is dissatisfied, it generates notifications requiring more detailed information or a quicker response. Conversely, if there is a lot of positive feedback, it adjusts the tone of notifications to improve the user experience.

[1416] Step 11:

[1417] User: Receive notifications and review monitoring results and additional information. Send feedback as needed to ensure the system takes appropriate action.

[1418] (Example 2)

[1419] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1420] Traditional web page and application change monitoring systems, while having mechanisms to notify users of changes in monitoring points, lack mechanisms to adjust the priority and format of notifications based on user sentiment. This leads to problems such as decreased user satisfaction and efficiency. Furthermore, an increase in the volume of notifications risks important notifications being overlooked. In addition, analyzing and responding to feedback takes time, making rapid responses difficult.

[1421] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1422] In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to recognize the emotions of the user who received the notification using an emotion engine, and means for the server to automatically adjust the priority and format of the notification based on the user's emotions. This enables appropriate notifications in accordance with the user's emotions, improves user satisfaction, and allows for quick and efficient responses.

[1423] A "change monitoring point" refers to specific data or elements (e.g., text, images, layout elements) on a webpage or application that a user wants to monitor.

[1424] A "server" refers to a computer system that receives, retrieves, compares, notifies, and performs sentiment recognition on data from change monitoring points.

[1425] A "user" refers to a person or organization that uses the system to set up change monitoring points and receives the results.

[1426] "Means of acquisition" refers to the functions that a server uses to acquire things like the HTML source of a web page or screenshots of an application.

[1427] "Means of comparison" refers to a function that compares data acquired by the server with monitoring points set by the user to check if they match.

[1428] "Notification methods" refer to the functions that allow the server to send alerts and reports to users based on comparison results.

[1429] An "emotion engine" refers to a software component that analyzes user feedback on notifications and recognizes their emotions.

[1430] "Means of recognizing emotions" refers to a function that uses an emotion engine to analyze text data from user feedback and determine the user's emotional state.

[1431] "Means for automatically adjusting notification priority and format" refers to a function that appropriately changes the urgency and display format of notifications based on the user's perceived emotions.

[1432] This invention is a system in which a user monitors specific parts (change monitoring points) of a web page or application and sends those changes to a server. Furthermore, the server has the ability to recognize the user's sentiment towards the notification and automatically optimize its response.

[1433] User input of monitoring points

[1434] Users open the system's administration screen or a dedicated application and enter the URL of the webpage they want to monitor, the application path, and the monitoring point. Specifically, they enter detailed information such as text, images, and layout elements, and also set the monitoring frequency and notification method.

[1435] Data acquisition and comparison

[1436] The server configures a scheduler to periodically or as needed retrieve data from the target web page or application. For web pages, it issues an HTTP request to retrieve the HTML source. For applications, it uses automation tools such as Selenium to launch the application and take screenshots. Next, it compares the retrieved data with the monitoring points. For string checking, it uses OCR technology (e.g., Tesseract OCR), and for image checking, it uses image recognition algorithms (e.g., OpenCV). For layout checking, it analyzes the HTML DOM tree or the arrangement of elements in the screenshot.

[1437] Notification of comparison results

[1438] The server analyzes the comparison results and generates a report if discrepancies are detected. The report includes the monitored items, the actual values ​​detected, the expected values, and detailed information about the discrepancies found. This report is intended to notify the user. Notification methods include email, dashboards, and push notifications, and may also utilize APIs such as SMTP libraries and Firebase Cloud Messaging.

[1439] Using an Emotion Engine

[1440] The server uses an emotion engine to recognize the emotions of users who receive notifications. It analyzes the text of the feedback using natural language processing techniques. Specifically, it uses services such as the Google Cloud Natural Language API to determine the user's emotional state. If the emotion engine detects user dissatisfaction or agitation, it automatically adjusts the priority and format of the notification and provides detailed explanations and prompt follow-up.

[1441] example

[1442] Example 1: Monitoring changes to web page heading text

[1443] Users log in to the administration panel and set the headline text of a specific webpage as a monitoring point. For example, they might enter "URL: https: / / example.com, Expected headline: 'Latest News'". The server periodically issues HTTP requests to retrieve the webpage, parses the headline text, and compares it to the expected value. If a mismatch is detected, the user is notified by email.

[1444] Example 2: Monitoring changes in application button positions

[1445] The user sets the location of the "Submit" button on a specific application screen as a monitoring point. For example, they might enter "Application path: / usr / local / app, Expected button location: (100, 200)". The server periodically uses Selenium to take screenshots of the application and uses image recognition technology to detect the button's location. If the location differs from the expected value, an alert is sent to the user via push notification.

[1446] Example of a prompt

[1447] "Design a system that notifies users when specific heading text on a webpage changes. Integrate an emotion engine to adapt the format of the notification based on the user's sentiment."

[1448] This invention enables automatic detection of changes and flexible responses that respond to user emotions, thereby improving user satisfaction and allowing for quick and efficient responses.

[1449] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1450] Step 1:

[1451] The user enters the change monitoring point.

[1452] User: Open the system's administration screen or dedicated application and enter the URL of the webpage you want to monitor, the application path, and detailed information about the monitoring point (string, image, layout element). You can also set the monitoring frequency and notification method here. For example, the input might be "URL: https: / / example.com, Monitoring point: 'Latest News', Notification method: Email, Frequency: Daily".

[1453] Input: URL, monitoring point, notification method, monitoring frequency

[1454] Output: Input information is sent to the server in JSON format. Specifically, it takes the form of "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}".

[1455] Terminal: Converts the entered information into JSON format and sends it to the server in real time.

[1456] Step 2:

[1457] Data acquisition

[1458] Server: Configures a scheduler to retrieve data from the target web page or application based on a specified frequency.

[1459] Input: Monitoring configuration information in JSON format, specifically "{"url": "https: / / example.com", "monitor_point": "Latest News", "frequency": "daily", "notification_method": "email"}"

[1460] Output: Retrieved HTML source and screenshots.

[1461] Server: For web pages, issue an HTTP request to retrieve the HTML source. For example, use the requests library to download HTML from "https: / / example.com". For applications, use Selenium to launch the application and take a screenshot.

[1462] Step 3:

[1463] Comparison of acquired data and monitoring points

[1464] Server: Compares the acquired data with the monitoring points.

[1465] Input: Retrieved HTML source or screenshot, monitoring points (string, image, layout element)

[1466] Output: Comparison results. A detailed report will be generated if there are discrepancies.

[1467] Server: For string checking, OCR technology (e.g., Tesseract OCR) is used to extract characters from the screenshot and compare them to the expected string. For example, it checks if the string "latest news" is included. For image checking, OpenCV is used to obtain images within the screenshot and compare them to a default image. The DOM tree and element placement on the screenshot are analyzed to check if they match the expected placement.

[1468] Step 4:

[1469] Notification of results

[1470] Server: Analyzes the comparison results and generates a detailed report if a discrepancy is detected. The report includes the monitored item, the actual value detected, the expected value, and detailed information about the discrepancy found. Specifically, it might include information such as "Monitoring point: 'Latest news', Detected value: 'Old news', Details: Headline text is different."

[1471] Input: Comparison results, detailed information on discrepancies

[1472] Output: Report to send to the user

[1473] Server: Sends notifications to users via email, dashboard, or push notification. For example, for email, it uses the SMTP library to send report content to the user in text format. For dashboard display, it displays the report on the frontend.

[1474] Step 5:

[1475] Emotion recognition and response

[1476] Server: Uses an emotion engine to recognize the emotions of the user who received the notification. Analyzes the user's feedback text using natural language processing techniques.

[1477] Input: User feedback text regarding the comparison results

[1478] Output: The user's emotional state. For example, emotional states such as "positive," "negative," or "neutral."

[1479] Server: Uses Google Cloud Natural Language API and other tools to analyze user feedback text and determine emotional state. For example, it recognizes negative emotion in feedback such as "I'm unhappy with this change." Based on the recognized emotion, it automatically adjusts the priority and format of notifications, providing detailed explanations and prompt follow-up.

[1480] (Application Example 2)

[1481] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1482] Traditional web page and application change monitoring systems could notify users of changes, but they lacked the means to adjust the priority and format of notifications based on user sentiment. As a result, notifications were often inadequate, making it difficult to obtain useful user feedback and hindering the optimization of effective advertising and content management. A mechanism is needed to improve this shortcoming and enhance the user experience.

[1483] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input change monitoring points, means for transmitting the monitoring points to the server, means for the server to acquire data of the target web page or application, means for the server to compare the acquired data with the monitoring points, means for the server to notify the user of the comparison results, means for the server to analyze the user's emotions, and means for the server to adjust the priority of notifications based on the analyzed emotions. This enables flexible responses in accordance with the user's emotions and allows for the optimization of advertising and content management.

[1484] A "change monitoring point" is information used by a user to specify a particular part of a web page or application that they want to monitor.

[1485] A "server" is a computer system used to process and manage data over a network.

[1486] "Acquisition method" refers to the method by which a server retrieves data from web pages and applications.

[1487] "Comparison means" refers to the process of matching acquired data with change monitoring points entered by the user.

[1488] "Notification method" refers to the method by which the server informs the user of the comparison results.

[1489] "Means for analyzing emotions" refers to methods by which a server detects and analyzes emotions from user feedback.

[1490] "Means for adjusting notification priority" refers to methods for changing the importance and format of notifications based on analyzed user sentiment.

[1491] "Data" refers to information such as the HTML source of a web page or screenshots of an application.

[1492] "HTML source" is a markup language used to define the structure and content of a web page.

[1493] A "screenshot" refers to a computer screen display saved as an image file.

[1494] An "emotion engine" is a technology or software used to identify and analyze a user's emotions from text, audio, and other sources.

[1495] This invention describes how to implement a system for users to monitor changes to specific web pages or applications. The system includes the steps of setting monitoring points, acquiring data, comparing data, providing notifications, and performing sentiment analysis.

[1496] 1. User input of monitoring points

[1497] Users enter the URL of the webpage or application path they want to monitor, along with the monitoring points (e.g., specific text, images, or layout elements), into the system's administration screen or a dedicated application using a means to input change monitoring points. They can also configure the monitoring frequency and notification method as needed. This information is sent to the server in real time.

[1498] 2. Data Acquisition

[1499] The server automatically retrieves data from target web pages and applications periodically or as needed. For web pages, it issues HTTP requests to retrieve the HTML source; for applications, it uses automation tools (e.g., Selenium) to take screenshots.

[1500] 3. Comparison of data and monitoring points

[1501] The server compares the acquired data with monitoring points. OCR technology (e.g., pytesseract) is used for string checking, and image processing algorithms (e.g., OpenCV) are used for image recognition. Layout checks include parsing the HTML DOM tree and analyzing the element placement in screenshots.

[1502] 4. Notification of Results

[1503] The server analyzes the comparison results and, if discrepancies are detected, generates a report and notifies the user. Notification methods include email, dashboards, and push notifications. Email notifications use an email sending library (e.g., smtplib). Dashboard displays use frontend technologies (e.g., React or Vue.js).

[1504] 5. Emotion Recognition and Response

[1505] The server uses an emotion engine to analyze user feedback and determine their emotions. Natural language processing techniques (e.g., Hugging Face's transformers library) are used for emotion recognition. Notification priorities and formats are automatically adjusted based on the user's emotions. For example, if a user expresses dissatisfaction, more detailed explanations and prompt follow-up are provided.

[1506] Specific example

[1507] URL: http: / / example.com / ad

[1508] Monitoring point: Expected ad text (e.g., "New product announcement!")

[1509] Feedback: Let's assume a user gives feedback saying, "What is this ad? It's completely useless." In response to this feedback, the sentiment analysis engine detects negative emotions, and the system provides detailed follow-up information and improvement suggestions.

[1510] Example of a prompt

[1511] "What is this ad? It's completely useless."

[1512] In this way, we can provide a system that can respond flexibly to the user's intentions and emotions, thereby optimizing advertising and content management.

[1513] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1514] Step 1:

[1515] The user enters change monitoring points. This includes the URL of the webpage or application path to be monitored, and details of the monitoring point (e.g., specific text, image, or layout element). This information is sent from the terminal to the server in real time. The entered monitoring points are stored in the server-side database.

[1516] Step 2:

[1517] The server retrieves data from the target webpage or application. This data retrieval is performed periodically or as needed. For webpages, it issues an HTTP request to retrieve the HTML source; for applications, it uses an automation tool (e.g., Selenium) to take screenshots. The HTML source and screenshots are stored in the file system or database.

[1518] Step 3:

[1519] The server compares the acquired data with the monitoring points set by the user. Specific text and layout elements are extracted from the HTML source, and necessary information is extracted from screenshots using OCR technology (e.g., pytesseract) or image recognition algorithms (e.g., OpenCV). This extracted data is then compared with the expected values ​​for the monitoring points. If the comparison results do not match, details of the discrepancies are generated.

[1520] Step 4:

[1521] The server notifies the user of the comparison results. Notification methods include email, dashboard display, and push notifications. Email sending uses an email sending library (e.g., smtplib), dashboard display uses frontend technologies (e.g., React or Vue.js), and appropriate APIs are used for push notifications. Detailed information about the discrepancies and the comparison results are generated as a notification message and sent to the user.

[1522] Step 5:

[1523] The user receives a notification. The user who receives the notification enters feedback into the system. This feedback is sent to the server in text format.

[1524] Step 6:

[1525] The server analyzes user feedback using an emotion engine. Natural language processing techniques (e.g., Hugging Face's transformers library) are used to extract the user's emotion (e.g., positive, negative, neutral) from the feedback text. The extracted emotion information is stored in a database.

[1526] Step 7:

[1527] The server adjusts notification priorities based on analyzed sentiment. For example, if a user expresses dissatisfaction, the system provides a detailed explanation and prompt follow-up. On the other hand, if positive sentiment is detected, the standard response is maintained. The adjusted notification content is then sent back to the user, and appropriate action is taken.

[1528] In this way, the system automatically monitors changes to web pages and applications based on user monitoring points, and can respond flexibly according to user sentiment. As a result, advertising and content management are optimized.

[1529] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1530] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1531] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1532] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1533] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1534] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1535] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1536] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1537] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1538] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1539] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1540] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1541] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

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

[1543] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1544] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1545] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1546] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1547] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1548] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1549] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.

[1550] The following is further disclosed regarding the embodiments described above.

[1551] (Claim 1)

[1552] A means for the user to input change monitoring points,

[1553] Means for transmitting the aforementioned monitoring point to a server,

[1554] The server has a means of obtaining data from the target web page or application,

[1555] The server has means for comparing the acquired data with the aforementioned monitoring points,

[1556] The server provides a means to notify the user of the comparison results,

[1557] A system that includes this.

[1558] (Claim 2)

[1559] The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

[1560] (Claim 3)

[1561] The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot of the application.

[1562] (Claim 4)

[1563] The system according to claim 1, wherein the comparison means includes means for analyzing a string of characters in data acquired using optical character recognition.

[1564] (Claim 5)

[1565] The system according to claim 1, wherein the comparison means includes means for analyzing images in data acquired using an image recognition algorithm.

[1566] "Example 1"

[1567] (Claim 1)

[1568] A means for the user to input change monitoring points,

[1569] Means for transmitting the aforementioned monitoring point to a server,

[1570] The server has a means of periodically or trigger-based retrieval of data from the target web page or application.

[1571] The server has means for comparing the acquired data with the aforementioned monitoring points,

[1572] The server provides means for performing the comparison by optical character recognition, image recognition, or DOM parsing,

[1573] The server provides a means to notify the user of the comparison results,

[1574] A means by which the terminal displays notifications received from the server to the user,

[1575] A system that includes this.

[1576] (Claim 2)

[1577] The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

[1578] (Claim 3)

[1579] The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot of the application.

[1580] "Application Example 1"

[1581] (Claim 1)

[1582] A means for the user to input change monitoring points,

[1583] Means for transmitting the aforementioned monitoring point to a server,

[1584] The server has a means of obtaining data from the target web page or application,

[1585] The server has means for comparing the acquired data with the aforementioned monitoring points,

[1586] The server provides a means to notify the user of the comparison results,

[1587] A means of displaying and notifying monitoring results in real time via smart glasses,

[1588] A system that includes this.

[1589] (Claim 2)

[1590] The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

[1591] (Claim 3)

[1592] The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot of the application.

[1593] "Example 2 of combining an emotion engine"

[1594] (Claim 1)

[1595] A means for the user to input change monitoring points,

[1596] Means for transmitting the aforementioned monitoring point to a server,

[1597] The server has a means of obtaining data from the target web page or application,

[1598] The server has means for comparing the acquired data with the aforementioned monitoring points,

[1599] The server provides a means to notify the user of the comparison results,

[1600] The server has a means of recognizing the emotions of the user who received the notification using an emotion engine,

[1601] A means by which the server automatically adjusts the priority and format of notifications based on the user's emotions,

[1602] A system that includes this.

[1603] (Claim 2)

[1604] The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

[1605] (Claim 3)

[1606] The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot.

[1607] "Application example 2 when combining with an emotional engine"

[1608] (Claim 1)

[1609] A means for the user to input change monitoring points,

[1610] Means for transmitting the aforementioned monitoring point to a server,

[1611] The server has a means of obtaining data from the target web page or application,

[1612] The server has means for comparing the acquired data with the aforementioned monitoring points,

[1613] The server provides a means to notify the user of the comparison results,

[1614] The server has a means to analyze the user's emotions,

[1615] The server has a means to adjust the priority of notifications based on the analyzed sentiment,

[1616] A system that includes this.

[1617] (Claim 2)

[1618] The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

[1619] (Claim 3)

[1620] The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot of the application. [Explanation of Symbols]

[1621] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for the user to input change monitoring points, Means for transmitting the aforementioned monitoring point to a server, The server has a means of obtaining data from the target web page or application, The server has means for comparing the acquired data with the aforementioned monitoring points, The server provides a means to notify the user of the comparison results, A system that includes this.

2. The system according to claim 1, wherein the acquisition means includes means for periodically acquiring the HTML source of a web page.

3. The system according to claim 1, wherein the acquisition means includes means for acquiring a screenshot of the application.

4. The system according to claim 1, wherein the comparison means includes means for analyzing a string of characters in data acquired using optical character recognition.

5. The system according to claim 1, wherein the comparison means includes means for analyzing images in data acquired using an image recognition algorithm.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A