Data extraction method and RPA robot manufacturing method for data extraction
By assembling three RPA robots, automatic positioning and extraction of stroke center data were achieved, solving the high workload problem caused by manual customized development in existing technologies and reducing the cost of RPA robot production.
Patent Information
- Application Number
- CN202510779263.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-06-12
AI Technical Summary
In existing technologies, the RPA robot production process requires customized development for different manufacturers and data source software versions, resulting in a large workload and an inability to automatically locate the software system and interface where the field is located, increasing labor costs.
A method of assembling three RPA robots is used. First, the first RPA robot logs in to the software system. The second RPA robot automatically takes screenshots of preset coordinate positions and operation types and identifies preset fields. Then, the third RPA robot extracts data from the screenshots. Finally, the three are spliced into an RPA robot for data extraction.
It realizes automatic production from software interface to field content data extraction, reduces the workload of RPA robot production, and reduces labor costs.
Smart Images

Figure CN120612679A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer information processing technology, and in particular to a data extraction method and a method for producing an RPA robot for data extraction. Background Art
[0002] The large number of stroke patients has brought a heavy burden to families and society. Therefore, after a stroke patient is discharged from the hospital, the hospital must promptly upload 357 treatment data indicators of the stroke patient during the hospitalization to the prescribed stroke database, so as to further conduct stroke case quality control and data analysis, optimize treatment measures, improve treatment rates, and reduce the burden of the disease.
[0003] With the rapid development of information technology and the widespread application of artificial intelligence, it is necessary to develop a software robot based on RPA (Robotic Process Automation) technology to automatically extract, review, and report stroke center data. This robot will be used by thousands of hospital stroke centers nationwide to assist hospitals in reporting stroke data. However, RPA development requires customization for different vendors and / or data source software versions. Each company has multiple versions of the same system, and each version requires a new robot, which significantly increases the manual RPA workload. Reducing the workload of RPA robot development has become a pressing issue. Summary of the Invention
[0004] The technical problem to be solved by this application is to provide a data extraction method and an RPA robot production method for data extraction, which has the characteristics of reducing the workload of RPA robot production and reducing labor costs.
[0005] In a first aspect, an embodiment provides a data extraction method for extracting data based on an assembled first RPA robot, a second RPA robot, and a third RPA robot, including: Logging into the software system using a first RPA robot and entering a software interface, where the first RPA robot is a manually created RPA robot; A second RPA robot performs an operation at a preset coordinate position and a preset operation type on the software interface and takes a screenshot to obtain a screenshot containing the preset fields. The second RPA robot is an automatically created RPA robot. Based on the third RPA robot extracting the required data existing in the preset position in the screenshot, the second RPA robot and the third RPA robot are automatically produced RPA robots.
[0006] In a second aspect, an embodiment provides a method for creating an RPA robot for data extraction, including: Creating a first RPA robot based on manual operation, where the first RPA robot is used to log into the software system and enter the software interface; A second RPA robot is created based on the preset first software program. The second RPA robot is used to operate the interface and obtain non-repetitive screenshots. The screenshots correspond to preset fields. Creating a third RPA robot based on the preset second software program, the third RPA robot is configured to obtain a location of content data corresponding to the preset field and extract the content data based on the obtained screenshot and the correspondence between the screenshot and the preset field; The first RPA robot, the second RPA robot, and the third RPA robot are combined to obtain an RPA robot for data extraction.
[0007] The beneficial effects of the present invention are: By first creating an RPA robot that automatically takes screenshots based on a first software program to find a screenshot of the software interface where the field is located, and then creating an RPA robot based on a second software program to extract the content data corresponding to the field based on the screenshot, the RPA robot can be automatically created from entering the software interface to extracting field content data. This can then be combined to create an RPA robot that extracts user data, and then the RPA robot that extracts data can be used to extract data. This reduces the workload of RPA robot creation and reduces the cost of manual creation. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 This is a schematic diagram of a method for producing an RPA robot for data extraction according to an embodiment of the present application; Figure 2 This is a schematic diagram of the arrangement of field names and content data in the first embodiment of the present application; Figure 3 This is a schematic diagram of the arrangement of field names and content data in the second embodiment of the present application; Figure 4 This is a schematic diagram of the arrangement of field names and content data in the third embodiment of the present application; Figure 5 This is a schematic diagram of the arrangement of field names and content data in the fourth embodiment of the present application; Figure 6 This is a flow chart of a data extraction method according to an embodiment of the present application. DETAILED DESCRIPTION
[0009] The present invention will be further described in detail below by means of specific embodiments in conjunction with the accompanying drawings. Similar elements in different embodiments are numbered with associated similar elements. In the following embodiments, many detailed descriptions are provided to enable the present application to be better understood. However, those skilled in the art will readily appreciate that some of the features may be omitted in different circumstances, or may be replaced by other elements, materials, or methods. In some cases, some operations related to the present application are not shown or described in the specification. This is to avoid the core portion of the present application being overwhelmed by excessive descriptions, and for those skilled in the art, it is not necessary to describe these related operations in detail. They will fully understand the related operations based on the description in the specification and the general technical knowledge in the art.
[0010] In addition, the features, operations, or characteristics described in the specification may be combined in any appropriate manner to form various embodiments. Furthermore, the steps or actions in the method description may be reordered or adjusted in a manner readily apparent to those skilled in the art. Therefore, the various sequences in the specification and drawings are provided solely for the purpose of clearly describing a particular embodiment and are not intended to be mandatory, unless otherwise specified.
[0011] The serial numbers assigned to the components in this document, such as "first", "second", etc., are only used to distinguish the objects described and do not have any order or technical meaning.
[0012] To facilitate the description of the inventive concept of this application, the following briefly describes the data extraction and RPA robot production technology.
[0013] Currently, data extraction at stroke centers requires manual data extraction for each version of the data source software. The stroke center requires a total of 357 fields, and the data for these fields comes from various systems. RPA is needed to create a robot for collecting and processing each field. The information systems used by different hospitals are likely provided by different information companies, which may also have multiple versions of the same system. With over a hundred HIS software companies nationwide, locating the specific software and interface for a field is extremely labor-intensive. If RPA could also automatically locate the software system and interface where a field resides, labor costs would be significantly reduced.
[0014] However, in traditional RPA robot production methods, it is difficult for RPA to automatically locate the software system and interface where the field is located. Therefore, it is difficult to automatically produce RPA robots based on software programs, and manual operation is required to manually produce RPA robots.
[0015] In view of this, the embodiments of the present application provide a data extraction method and a method for creating an RPA robot for data extraction. This method can first create an RPA robot that automatically takes screenshots based on a first software program to find a screenshot of the software interface where the field is located. Then, based on a second software program, create an RPA robot that extracts the content data corresponding to the field based on the obtained screenshot. This automatically creates an RPA robot that performs tasks from entering the software interface to extracting field content data. This process is then combined to create an RPA robot that extracts user data, and the RPA robot that performs data extraction based on this combined RPA robot. This reduces the workload of creating RPA robots and the cost of manual creation.
[0016] To more clearly illustrate the data extraction method of the embodiment of the present application, the following first introduces the method for producing an RPA robot for data extraction.
[0017] This application is a method for making an RPA robot for data extraction, please refer to Figure 1 ,include: Step S10: Create a first RPA robot based on manual operation. The first RPA robot is used to log in to the software system and enter the software interface.
[0018] Those skilled in the art will appreciate that producing an RPA robot based on manual operation is a conventional production method in the prior art and will not be described in detail here.
[0019] Step S20: Create a second RPA robot based on the preset first software program. The second RPA robot is used to operate the interface and obtain non-repetitive screenshots, and the screenshots correspond to preset fields.
[0020] In one embodiment, step S20 may include: Step S201 : automatically operate the operation interface according to a preset operation mode, take a screenshot of the interface after each operation and save it, and record the operation coordinate position corresponding to the screenshot after each operation.
[0021] After entering the software system's interface, different pages may appear at different operation locations. For example, some operations may result in pop-ups, while others may display further details. These new pages may contain fields that need to be extracted. Therefore, we need to take screenshots of the new page after each operation to create an RPA robot that automatically takes screenshots. This requires both automated operations within the page and automatic screenshots of the page after the automated operation, enabling the RPA robot to automatically create the screenshots.
[0022] In one embodiment, the operation interface is automatically operated according to a preset operation mode, including: performing coordinate position operations one by one according to a preset coordinate position sequence. That is, in response to the preset operation sequence and operation mode instructions, coordinate position operations are performed one by one according to the preset coordinate position sequence. For example, after entering a certain operation interface, automatic operation can be performed according to the preset coordinate position sequence from left to right and from top to bottom. In this way, after each operation of a coordinate position is performed, the operation of the next coordinate position is performed according to the preset coordinate position sequence, until all preset coordinate position operations are completed or all coordinate position operations of the entire page are completed. It can be understood by those skilled in the art that the coordinate position sequence here can also be other coordinate position sequences, and those skilled in the art can set it according to actual needs, all within the scope of protection of this application.
[0023] In one embodiment, performing the coordinate position operation according to a preset coordinate position sequence may further include: performing the coordinate position operation according to the preset coordinate position sequence, shifting the coordinate position by 3px each time. Those skilled in the art will appreciate that the size of the shift can be configured according to actual needs.
[0024] Operating the software interface to obtain a new interface may be a single-click operation, a double-click operation, or other operation types. To ensure the comprehensiveness of displaying the new interface, in one embodiment, automatic operations are performed according to preset operation types, and the operation type corresponding to the screenshot after each operation is recorded, where the operation types include single-click operations and double-click operations.
[0025] In one embodiment, if there are more than two preset operation types, when performing coordinate-by-coordinate position operations, after performing all preset operation types at each operation position, proceed to the next operation position to perform operations. For example, after performing a single-click operation and a double-click operation at the current operation position, proceed to the next coordinate position to perform a single-click operation and a double-click operation. Alternatively, after performing a coordinate-by-coordinate position operation of one operation type, perform a coordinate-by-coordinate operation of the next operation type. It will be understood by those skilled in the art that the operation of each coordinate position requires the execution of all operation types. The specific operation method can be set as needed and is within the scope of protection of this application.
[0026] By taking and saving a screenshot of the interface after each operation and recording the corresponding operation coordinates for each screenshot, you can determine the coordinates of the operation required to obtain the screenshot. If you subsequently build an RPA robot, you can determine the coordinates of the operation that needs to be automatically executed to obtain the target screenshot. If there are multiple operation types, since the operation type corresponding to the screenshot after each operation is recorded, you can determine the type of operation that needs to be automatically executed to obtain the target screenshot. This allows you to determine the coordinates and type of operation required to automatically execute the operation to obtain the target screenshot.
[0027] For example, after clicking the operation coordinate position (x, y) of the current software page, a screenshot M is obtained, and the disease type field to be extracted can be extracted from the screenshot M. If the screenshot M is used as the target screenshot to create an RPA robot, since the specific operation coordinate position and operation type corresponding to the screenshot are known, the RPA robot that obtains the target screenshot can be automatically created based on the operation coordinate position and operation type corresponding to the screenshot M, thereby realizing the automatic creation of the RPA robot.
[0028] Step S202 : For the saved screenshots, identify the screenshots with the same interface and retain one of them, thereby obtaining the retained screenshots with different interfaces.
[0029] For a software interface, since there is a screenshot at each preset coordinate position, if there are 1000 preset coordinate positions, there will be 1000 screenshots. If there are two types of operations at each coordinate position, there will be 2000 screenshots. The applicant found in the research that there are a large number of duplicate screenshots among the 2000 screenshots, that is, screenshots with the same interface. For example, it was found that the interfaces of 300 of the 2000 screenshots were the same, but we only need to keep one of the screenshots to obtain information. Therefore, in order to improve recognition efficiency and reduce computer resource usage, in one embodiment, step S202 may include: for the screenshots after any operation, they are compared with the saved screenshots, and it is determined whether there is a screenshot in the saved screenshots that is the same as the screenshot after any operation. If so, the screenshot after any operation is deleted. If not, the screenshot after any operation is saved, thereby obtaining screenshots of different interfaces.
[0030] Based on the above embodiment, for the screenshots after any operation, they are compared with the saved screenshots. For example, the first screenshot is obtained after the first operation, and the second screenshot is obtained after the second operation, then the second screenshot can be compared with the first screenshot. Determine whether there is a screenshot in the saved screenshots that is the same as the screenshot after any operation. If so, delete the screenshot after any operation. If not, save the screenshot after any operation. If the screenshot obtained after the m-th operation is the same as any screenshot saved before, delete the screenshot obtained after the m-th operation to avoid duplication of screenshots. If the screenshot obtained after the m-th operation is different from the screenshots saved before, save the screenshot obtained after the m-th operation. Since each screenshot is compared with the previously saved screenshot, if they are the same, they are deleted, so that the storage space occupied can be reduced.
[0031] In one embodiment, as an alternative to the above embodiment, step S202 may include: saving screenshots after each operation in chronological order; based on all saved screenshots, for any current screenshot, determining whether there is a screenshot in the previous screenshots that is the same as any current screenshot, and if so, deleting any current screenshot, thereby obtaining a screenshot with a different interface.
[0032] Through any one of the embodiments of the above step S202, duplicate images are cleared to ensure that each different interface has only one image.
[0033] In one embodiment, when there is only one type of operation at each coordinate position, the screenshot saving format can be expressed as: NO_x_y.jpg Where NO represents the screenshot number, starting at 1 and increasing by 1. x and y represent the x-axis and y-axis coordinates of the operation position, respectively. For example, if a screenshot is saved in the format of 102_15_603.jpg, it means that the screenshot number is 102 and the operation position coordinates are (15, 603).
[0034] In the case where there are multiple types of operations at each coordinate position, in one embodiment, the screenshot saving format can be expressed as: NO_x_y_click.jpg Where "NO" represents the screenshot's sequence number, starting at 1 and incrementing by 1; "x" and "y" represent the x and y coordinates of the operation coordinate position, respectively; and "click" represents the operation type. For example, if a screenshot is saved in the format "102_15_603_1.jpg," this indicates that the screenshot's sequence number is 102, the operation coordinate position is (15, 603), and the operation type is 1. If "operation type 1" indicates a single-click operation, then the operation type is a single-click operation. Therefore, if the screenshot in the format "102_15_603_1.jpg" is the target image from which the preset fields need to be extracted, the RPA robot that generated the screenshot can be determined based on the screenshot's format information. Specifically, the RPA robot's information can include the ability to capture a screenshot after a single-click operation at the coordinate position (15, 603) and save it to the preset location.
[0035] Step S203: based on the retained screenshots, obtain the preset fields, and obtain the corresponding relationship between the screenshots containing any preset field and the preset fields.
[0036] Taking one of the preset fields as "Department Name" as an example, OCR can be used to identify screenshots with "Department Name". In this way, the correspondence between the preset field and the screenshot can be obtained, and the screenshots without the preset field can be deleted, leaving only the screenshots with the preset field.
[0037] In step S204, based on the corresponding relationship and the page where the preset field is located, the operation coordinates of the operation to be performed are obtained, and an RPA robot is created to take a screenshot of the page where the preset field is located.
[0038] By knowing the correspondence between screenshots and pre-set fields, the screenshot required to access the pre-set "Department Name" field can be determined. In the above embodiment, since the operation coordinates corresponding to the screenshots are recorded, an RPA robot can be created based on the relationship between the screenshots and the operation coordinates to obtain the screenshots of the "Department Name" field.
[0039] In one embodiment, when there are multiple operation types, the operation coordinates and operation type of the operation to be performed are obtained based on the corresponding relationship and the page where the preset field is located, and an RPA robot is created to take a screenshot of the page where the preset field is located.
[0040] In one embodiment, the second RPA robot produced based on step S20 can be one RPA robot or multiple RPA robots. For example, it can be multiple RPA robots with a one-to-one correspondence between page screenshots and RPA robots, or it can be one RPA robot that obtains multiple page screenshots.
[0041] Since the operation interface is automatically operated according to the preset operation mode, the interface after each operation is screenshoted and saved, and the operation coordinate position corresponding to the screenshot after each operation is recorded, so that the screenshot that can be obtained for each operation coordinate position can be obtained. For the saved screenshots, the screenshots with the same interface are identified and one of the screenshots is retained, so that different screenshots of the retained interface are obtained; based on the retained screenshots, the preset fields are obtained, and the correspondence between the screenshots with any preset field and the preset field is obtained; so that the screenshot interface where the preset field to be extracted is located can be found. Based on the above correspondence and the page where the preset field is located, the operation coordinates of the operation to be performed are obtained, and an RPA robot is produced to take a screenshot of the page where the preset field is located. In this way, the coordinate position required for the operation to be performed each time the screenshot interface is obtained can be obtained based on the screenshot interface where the preset field is located. In this way, the coordinate position required for extracting the preset field can be produced, and a screenshot can be taken based on the coordinate position to obtain the second RPA robot that extracts the screenshot of the preset field, thereby realizing the automatic production of the second RPA robot that extracts the screenshot required for the preset field, reducing the workload of RPA robot production and greatly reducing labor costs.
[0042] Step S30: Create a third RPA robot based on the preset second software program. The third RPA robot is used to obtain the location of the content data corresponding to the preset field based on the obtained screenshot and the correspondence between the screenshot and the preset field, and extract the content data.
[0043] In one embodiment, step S30 includes: Step S301: Obtain a screenshot containing a preset field, and identify the preset field based on the screenshot.
[0044] By obtaining a screenshot with preset fields, the preset fields in the screenshot can be first identified based on the screenshot.
[0045] In one embodiment, when the correspondence between the preset fields and the screenshots is unclear, in order to obtain a screenshot containing the preset fields, the screenshot can be first obtained, and then, based on the obtained screenshot, the preset fields in the screenshot can be obtained through OCR recognition to obtain the screenshot containing the preset fields. For example, it may be known that a certain screenshot contains preset fields, but it is not known which preset fields exist. It may also be unknown whether the screenshot contains preset fields, but it can be determined through OCR recognition whether and which preset fields exist in the screenshot.
[0046] In one embodiment, if the correspondence between preset fields and screenshots is clear, to obtain a screenshot containing a preset field, the screenshot containing the content data corresponding to the preset field can be directly obtained. For example, if both preset field A and preset field B have a correspondence with screenshot M, if the content data corresponding to preset field A is to be extracted, screenshot M can be directly obtained based on this correspondence.
[0047] Step S302: Based on the identified preset field, the location of the content data corresponding to the preset field is identified.
[0048] Based on the identified preset field, the location of the content data corresponding to the preset field is identified, and the location of the data content corresponding to the preset field to be extracted can be obtained.
[0049] The applicant found in the research that for the preset fields to be identified and their corresponding content data, there may be corresponding text boxes, or there may not be corresponding text boxes. Please refer to Figures 2 to 4 , are all ways of expressing the patient's basic information, among which name and gender are preset fields, Zhang San is the content data of the name, and male is the content data of the gender. Figure 2 and Figure 3 For preset fields and their corresponding content data, there are corresponding text boxes. Figure 4 For the case where there is no corresponding text box for the preset fields and their corresponding content data. Therefore, how to get a solution that takes into account the above two situations becomes a technical difficulty. In view of this problem, in one embodiment of the present application, step S302 includes: For any preset field identified, such as "name", identify whether there is a first text box in which the first text content only includes the preset field, wherein the first text content does not include punctuation marks. If Figure 2 and Figure 3 If there is a first text box, then search rightward within the first identical content area for a second text box adjacent to the right. The first identical content area refers to an area within a preset distance threshold from the right edge of the first text box, for example, an area within a preset distance threshold from the right edge of the first text box for the name. If Figure 2 As shown, if the border of the text box adjacent to the right is found in the first same content area, it is considered that there is a second text box adjacent to the right, and the position of the second text box is used as the position of the content data of any of the above-mentioned preset fields (such as name).
[0050] If Figure 3As shown, if the border of the text box adjacent to the right is not found in the first same content area, it means that the second text box is not to the right of the first text box, but below the first text box, then a search is made downward for the second text box adjacent to the bottom that is aligned with the left end of the first text box, and the position of the second text box adjacent to the bottom is used as the position of the content data of any of the above-mentioned preset fields.
[0051] In one embodiment, the position of the second text box can be represented by a diagonal coordinate point, or by coordinate points at three or four corners. In the case of a diagonal coordinate point, it can be the upper left corner coordinate point and the lower right corner coordinate point, or it can be the lower left corner coordinate point and the upper right corner coordinate point of the second text box.
[0052] It is understandable that for those skilled in the art, the first preset distance threshold can be set according to actual needs. In one embodiment, the first preset distance threshold is 10px.
[0053] If the first text box does not exist, it may be Figure 4 In the case shown, if the first text box does not exist, the content data corresponding to the preset field may be on the right side of the preset field or below the preset field. Therefore, in one embodiment, if the first text box does not exist, the first starting coordinate point and the first ending coordinate point of the preset field are identified, for example, the starting coordinate point of the "surname" preset field and the ending coordinate point of the "name" preset field are identified. In one embodiment, taking "name" as an example, the first starting coordinate point is the upper left corner of the starting position, that is, the upper left corner of "surname", and the first ending coordinate point is the lower right corner of the ending position, that is, the lower right corner of "name". In one embodiment, the first starting coordinate point is the lower left corner of the starting position, that is, the lower left corner of "surname", and the first ending coordinate point is the upper right corner of the ending position, that is, the upper right corner of "name".
[0054] First, determine whether corresponding content data exists on the right side. Specifically, based on the first end coordinate point, search rightward for the first character adjacent to the right within the second identical content area. Then determine whether the first character adjacent to the right is a preset separator character. If so, search rightward for the second character adjacent to the right within the second identical content area based on the second end coordinate point of the first character. If the second character is found, the starting coordinate position of the searched second character is used as the starting coordinate position of the content data of any of the preset fields, thereby finding the starting coordinate position of the content data corresponding to the preset field. Separator characters include ":" (colon) and / or "—" (dash). The applicant discovered during research that, because a preset field may be followed by ":" or "—," in this case, the identified first character is not the corresponding content data. Therefore, it is necessary to further search rightward in the same manner to determine whether a second character adjacent to the right exists. If the second character is found, the starting coordinate position of the searched second character is used as the starting coordinate position of the content data of any of the preset fields. If the first character is not a preset separator character, the starting coordinate position of the first character is used as the starting coordinate position of the content data of any of the preset fields. The second identical content area refers to a preset field height area within a second preset distance threshold range from the coordinate point based on the search. For example, when searching for the first character, the first end coordinate point is used as the basis, and the second identical content area at this time refers to a preset field height area within a second preset distance threshold range from the first end coordinate point to the right. When searching for the second character, the second end coordinate point is used as the basis, and the second identical content area at this time refers to a preset field height area within a second preset distance threshold range from the second end coordinate point to the right.
[0055] It is understandable that for those skilled in the art, the second preset distance threshold can be set according to actual needs. In one embodiment, the second preset distance threshold is 10px.
[0056] In some embodiments, the starting coordinate position of the first character includes the upper left corner coordinate position and / or the lower left corner coordinate position of the first character; the starting coordinate position of the second character includes the upper left corner coordinate position and / or the lower left corner coordinate position of the second character.
[0057] If the first character or the second character is not found, it means that the corresponding content data is not on the right side of the preset field but below. Then, using the X-axis coordinate of the first starting coordinate point as the starting abscissa of the next line, search for the adjacent third character below to the right, and use the starting coordinate position of the third character as the starting coordinate position where the content data of any of the above preset fields is located. Since the starting position of the content data and the starting position of the preset field may not be aligned vertically, therefore, using the X-axis coordinate of the first starting coordinate point as the starting abscissa of the next line, search for the adjacent third character below to the right.
[0058] In one embodiment, the starting coordinate position of the third character includes the upper left corner coordinate position and / or the lower left corner coordinate position of the third character.
[0059] Step S303, make an RPA robot, including the screenshot ID, the corresponding preset field, and the position where the content data corresponding to the corresponding preset field is located.
[0060] In one embodiment, making an RPA robot includes the screenshot ID, the corresponding preset field, the algorithm for extracting content based on the second text box content, and the position of the second text box corresponding to the corresponding preset field. Based on the description of the above step S20, for example, as Figure 2 and Figure 3 shown, based on the obtained screenshot ID, the corresponding preset field "Name", the algorithm for extracting content based on the second text box content, that is, the algorithm for extracting all content data in the second text box based on the second text box where "Zhang San" is located, and the position of the second text box corresponding to the corresponding preset field, that is, the position of the second text box where "Zhang San" is located, to make a data extraction RPA corresponding to the content data of the preset field "Name". In this way, the production of the data extraction RPA robot is realized.
[0061] In one embodiment, in the case where there is no first text box, an RPA robot can be made based on the screenshot ID, the corresponding preset field, the starting coordinate position where the content data corresponding to the corresponding preset field is located, the text dynamic extension recognition algorithm, and semantic recognition. Among them, text dynamic extension recognition includes extending and recognizing adjacent characters to the right and down based on the starting coordinate position where the content data is located, and judging whether the adjacent characters belong to the content data to be extracted based on semantic recognition, so as to obtain the content data to be extracted. For example, please refer to Figure 5 , based on the obtained screenshot ID, the corresponding preset field "Department Name", there is a second character on the right. Therefore, use the starting coordinate position of the second character "New" as the starting coordinate position of the content data to extend and recognize adjacent characters to the right and down. In one embodiment, the right extension is based on the end coordinate point of the current character, and search for whether there is an adjacent character on the right in the second same content area until the end. In Figure 5 In the illustrated embodiment, it extends to the right until it reaches the end of "three". The downward extension is based on the starting coordinate position of the content data, that is, the X-axis coordinate of the starting coordinate position of "new" is the starting abscissa of the next line, and it searches for the third character adjacent below to the right. Combining the above rightward and downward extensions to identify adjacent characters, and semantic recognition to obtain the content data to be extracted. In Figure 5 In the embodiment of , after the RPA robot produced obtains the starting coordinate position of the content data, it can obtain the content data to be extracted, "Neonatal and Maternal and Child Health Department", based on the text dynamic extension recognition algorithm and semantic recognition plug-in set inside the RPA robot. Those skilled in the art can understand that since the semantic recognition model can adopt the existing technology model and can be used as a plug-in to be called during the execution of the RPA robot, the specific semantic recognition algorithm will not be elaborated here.
[0062] In one embodiment, the third RPA robot produced based on step S30 can be one RPA robot or multiple RPA robots. For example, it can be multiple RPA robots corresponding to a page screenshot or a preset field one by one, or it can be one RPA robot that obtains multiple preset field data.
[0063] Based on the manufacturing method of the third RPA robot in the above-mentioned one embodiment, by obtaining a screenshot with a preset field and recognizing the preset field based on the screenshot, the screenshot ID corresponding to the preset field can be obtained, and the preset field can be recognized from the screenshot obtained. Based on the recognized preset field, the position where the content data corresponding to the preset field is located can be recognized, and the position where the data content corresponding to the preset field to be extracted is located can be obtained. In this way, based on the screenshot ID, the corresponding preset field, and the position where the content data corresponding to the preset field is located, an RPA robot can be manufactured, so as to obtain an RPA robot for data extraction based on position positioning, reducing the workload of manufacturing the RPA robot and greatly reducing the labor cost.
[0064] Step S40: Splice the first RPA robot, the second RPA robot, and the third RPA robot to obtain an RPA robot for data extraction.
[0065] In the embodiment of the present application, a data extraction method is provided. Data extraction is realized based on the assembled first RPA robot, second RPA robot, and third RPA robot. Please refer to Figure 6 , the data extraction method includes: Step S100: Log in to the software system based on the first RPA robot to enter the software interface. The first RPA robot is an RPA robot made manually.
[0066] In step S200, a screenshot is taken after the second RPA robot operates the software interface at a preset coordinate position and a preset operation type to obtain a screenshot with a preset field. The first RPA robot is a manually produced RPA robot.
[0067] Step S300: Extract the required data at the preset location in the screenshot based on the third RPA robot, where the third RPA robot is an automatically produced RPA robot.
[0068] In one embodiment, for the second and third RPA robots, regardless of whether each comprises multiple RPA robots, if the second and third RPA robots are assembled as a single entity in step S40, then in step S200, the second RPA robot takes a screenshot after each operation according to a preset operation coordinate position sequence and operation type, and all screenshots are saved in a preset format and to a preset path. In step S300, the screenshots stored in the preset path are retrieved, and based on the correspondence between the screenshot ID and the preset field, the location of the content data corresponding to the preset field is identified, and the content data corresponding to the preset field is extracted.
[0069] For example, for the first screenshot saved in the preset path, based on the RPA robot production method, it can be known that there is a correspondence between the screenshot ID and the preset field, as well as the location of the content data corresponding to the preset field in the produced RPA robot program, so as to extract the content data corresponding to the preset field.
[0070] In one embodiment, the second and third RPA robots are created. The second RPA robot includes multiple RPA robots, and the third RPA robot also includes multiple RPA robots. For the multiple RPA robots included in the second RPA robot, page screenshots correspond one-to-one with the RPA robots. For the multiple RPA robots included in the third RPA robot, data extraction screenshots correspond one-to-one with the RPA robots. Therefore, in step S40, the multiple RPA robots in the second RPA robot and the multiple RPA robots in the third RPA robot can be joined in a one-to-one correspondence. For example, if the second RPA robot includes I screenshot RPA robots and the third RPA robot includes J data extraction RPA robots, then I = J, and the i-th screenshot RPA robot is joined with the j-th data extraction RPA robot, with i = j, 1 ≤ i ≤ I, and 1 ≤ j ≤ J. In this way, in one embodiment, in step S200, the second RPA robot takes a screenshot after performing an operation on the software interface at a preset coordinate position and a preset operation type, including: taking a screenshot after each operation by the second RPA robot according to the preset operation coordinate position sequence and operation type. In step S300, after each screenshot operation, the location of the content data corresponding to the preset field is identified based on the obtained screenshot and the correspondence between the screenshot and the preset field, and the content data corresponding to the preset field is extracted. That is, each time a screenshot is obtained based on a screenshot RPA robot, the content data of the preset field in the screenshot is extracted based on the corresponding data extraction RPA robot. In this way, after the data is extracted, the screenshot can be deleted, and the screenshot does not need to be saved separately, saving storage space.
[0071] In one embodiment, the location of the content data corresponding to the preset field is identified, and the content data corresponding to the preset field is extracted, including: identifying whether the location of the content data is a single coordinate location or a framed location including two or more coordinate locations. If it is a single coordinate location, it indicates that the coordinate location is the starting coordinate. The content data corresponding to the preset field is extracted using the single coordinate location as the starting coordinate location, combined with a text dynamic extension algorithm and semantic recognition. The dynamic extension algorithm can adopt the dynamic extension algorithm described in the above content and will not be repeated here. If it is a framed location including two or more coordinate locations (apparently a location belonging to a text box), the data within the framed location is directly extracted as the content data corresponding to the preset field.
[0072] Based on the data extraction method and RPA robot creation method for data extraction in the above-mentioned embodiment, an RPA robot capable of automatically taking screenshots can be created based on a first software program to find a screenshot of the software interface where the field is located. Then, an RPA robot capable of extracting the content data corresponding to the field based on the obtained screenshot can be created based on a second software program. This allows for the automatic creation of an RPA robot that performs the entire process from entering the software interface to extracting field content data, and then splicing together an RPA robot capable of extracting user data. This spliced RPA robot can then perform data extraction. This reduces the workload of RPA robot creation and the cost of manual creation.
[0073] In one embodiment of the present application, a computer-readable storage medium is provided. A program is stored on the storage medium. The stored program includes a method that can be loaded by a processor and process any of the above embodiments.
[0074] Those skilled in the art will appreciate that all or part of the functions of the various methods in the above embodiments can be implemented by hardware or by computer program. When all or part of the functions in the above embodiments are implemented by computer program, the program can be stored in a computer-readable storage medium, and the storage medium can include: read-only memory, random access memory, disk, optical disk, hard disk, etc., and the program is executed by a computer to implement the above functions. For example, the program is stored in the memory of the device, and when the program in the memory is executed by the processor, all or part of the above functions can be implemented. In addition, when all or part of the functions in the above embodiments are implemented by computer program, the program can also be stored in a storage medium such as a server, another computer, disk, optical disk, flash disk or mobile hard disk, and saved in the memory of the local device by downloading or copying, or the system of the local device is updated. When the program in the memory is executed by the processor, all or part of the functions in the above embodiments can be implemented.
[0075] The above examples are used to illustrate the present invention, which are only used to help understand the present invention and are not intended to limit the present invention. Those skilled in the art can make several simple deductions, modifications or substitutions based on the concept of the present invention.
Claims
1. A data extraction method, characterized in that: Data extraction is performed based on the assembled first, second, and third RPA robots, including: Logging into the software system using a first RPA robot and entering a software interface, where the first RPA robot is a manually created RPA robot; A second RPA robot performs an operation at a preset coordinate position and a preset operation type on the software interface and takes a screenshot to obtain a screenshot containing the preset fields. The second RPA robot is an automatically created RPA robot. Based on the third RPA robot extracting the required data existing in the preset position in the screenshot, the second RPA robot and the third RPA robot are automatically produced RPA robots.
2. The data extraction method according to claim 1, wherein: The screenshot after the second RPA robot operates the software interface at a preset coordinate position and a preset operation type includes: Based on the preset operation coordinate position sequence and operation type, the second RPA robot takes a screenshot after each operation, and saves all screenshots in a preset saving format to a preset path.
3. The data extraction method according to claim 2, wherein: The extracting of the required data at the preset location in the screenshot by the third RPA robot includes: The screenshots stored in the preset path are obtained based on the corresponding relationship between the screenshot ID and the preset field, the location of the content data corresponding to the preset field is identified, and the content data corresponding to the preset field is extracted.
4. The data extraction method according to claim 1, wherein: The screenshot after the second RPA robot operates the software interface at a preset coordinate position and a preset operation type includes: The second RPA robot takes a screenshot after each operation according to the preset operation coordinate position sequence and operation type; The extracting of the required data at the preset location in the screenshot by the third RPA robot includes: After each screenshot operation, based on the obtained screenshot and the correspondence between the screenshot and the preset field, the location of the content data corresponding to the preset field is identified, and the content data corresponding to the preset field is extracted.
5. The data extraction method according to claim 3 or 4, wherein: The step of identifying the location of the content data corresponding to the preset field and extracting the content data corresponding to the preset field includes: Identify whether the location of the content data is a single coordinate location or a framed location including two or more coordinate locations; if it is a single coordinate location, use the single coordinate location as the starting coordinate location and extract the content data corresponding to the preset field by combining a dynamic text extension algorithm and semantic recognition; if it is a framed location including two or more coordinate locations, directly extract the data within the framed location as the content data corresponding to the preset field; The dynamic text extension recognition algorithm includes extending rightward and downward based on the starting coordinate position of the content data to identify adjacent characters, and judging whether the adjacent characters belong to the content data to be extracted based on semantic recognition, thereby obtaining the content data to be extracted.
6. A method for producing an RPA robot for data extraction, characterized in that: include: Creating a first RPA robot based on manual operation, where the first RPA robot is used to log into the software system and enter the software interface; A second RPA robot is created based on the preset first software program. The second RPA robot is used to operate the interface and obtain non-repetitive screenshots. The screenshots correspond to preset fields. Creating a third RPA robot based on the preset second software program, the third RPA robot is configured to obtain a location of content data corresponding to the preset field and extract the content data based on the obtained screenshot and the correspondence between the screenshot and the preset field; The first RPA robot, the second RPA robot, and the third RPA robot are combined to obtain an RPA robot for data extraction.
7. The RPA robot production method according to claim 6, characterized in that: The step of creating the second RPA robot based on the preset first software program includes: Automatically operate the operation interface according to the preset operation mode, take and save a screenshot of the interface after each operation, and record the operation coordinate position corresponding to the screenshot after each operation; For the saved screenshots, identify the screenshots with the same interface and keep one of them, and obtain the screenshots with different interfaces; Based on the retained screenshots, obtain the preset fields, and obtain the corresponding relationship between the screenshots containing any preset field and the preset field; Based on the corresponding relationship and the page where the preset field is located, the operation coordinates of the operation to be performed are obtained, and an RPA robot is created to take a screenshot of the page where the preset field is located.
8. The RPA robot production method according to claim 7, characterized in that: The automatic operation of the operation interface according to the preset operation mode includes: Perform automatic operations according to the preset operation type and record the operation type corresponding to the screenshot after each operation, which includes single-click operation and double-click operation; The step of obtaining the operation coordinates of the operation to be performed based on the corresponding relationship and the page where the preset field is located, and creating an RPA robot that takes a screenshot of the page where the preset field is located, includes: Based on the corresponding relationship and the page where the preset field is located, the operation coordinates and operation type of the operation to be performed are obtained, and an RPA robot is created to take a screenshot of the page where the preset field is located.
9. The RPA robot production method according to claim 6, characterized in that: The method of creating the third RPA robot based on the preset second software program includes: Obtaining a screenshot containing a preset field, and identifying the preset field based on the screenshot; Based on the identified preset field, identifying the location of the content data corresponding to the preset field; Create an RPA robot, including the screenshot ID, the corresponding preset field, and the location of the content data corresponding to the corresponding preset field.
10. The RPA robot production method according to claim 9, characterized in that: The step of identifying the location of the content data corresponding to the preset field based on the identified preset field includes: For any identified preset field, identifying whether there is a first text box in which the first text content only includes the preset field, and the first text content does not include punctuation marks; If a first text box exists, a search is performed to the right within the first identical content area for a second text box adjacent to the right. If a second text box adjacent to the right exists, the position of the second text box is used as the position of the content data of any one of the preset fields. If a second text box adjacent to the right does not exist, a search is performed downward for a second text box adjacent to the bottom that is aligned with the left end of the first text box, and the position of the second text box adjacent to the bottom is used as the position of the content data of any one of the preset fields. The position of the second text box includes: the coordinate points of the upper left corner and the lower right corner of the second text box, or the coordinate points of the lower left corner and the upper right corner of the second text box. The first identical content area refers to an area within a first preset distance threshold range from the right edge of the first text box. If the first text box does not exist, the first starting coordinate point and the first ending coordinate point of the preset field are identified; based on the first ending coordinate point, the adjacent first character is searched to the right in the second same content area, and it is determined whether the adjacent first character is a preset spacing character. If so, based on the second ending coordinate point of the first character, the second character adjacent to the right is searched to the right in the second same content area. If the second character is found, the starting coordinate position of the searched second character is used as the starting coordinate position of the content data of any one of the preset fields; if the first character is not a preset spacing character, the starting coordinate position of the first character is used as the starting coordinate position of the content data of any one of the preset fields; if the first character or the second character is not found, the X-axis coordinate of the first starting coordinate point is used as the starting horizontal coordinate of the next row to search to the right for the adjacent third character below, and the starting coordinate position of the third character is used as the starting coordinate position of the content data of any one of the preset fields; the second same content area refers to an area of equal height to the preset field within a second preset distance threshold range from the coordinate point based on the first starting coordinate point, and the spacing characters include ":" and / or "—".
Citation Information
Patent Citations
Method, device and equipment for generating court opening announcement document based on RPA and AI and medium
CN114462375A
Recruitment information publishing method and device based on RPA and AI
CN114661745A
Cerebral stroke data reporting method and device, storage medium and program product
CN118588228A
Stroke data robot manufacturing method, device and equipment and storage medium
CN119166114A