Classification system, classification method, and classification program
The classification system addresses the inefficiency of existing technologies by automatically generating and applying classification patterns to database upgrade differences, reducing the workload from days to hours and enhancing accuracy through customizable and efficient pattern recognition.
Patent Information
- Application Number
- JP2024096014
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-13
- Publication Date
- 2025-12-25
AI Technical Summary
Existing classification technologies struggle to handle database upgrades efficiently, as they require predetermined classes and fixed rules, making it difficult to classify unknown differences, which can lead to a heavy workload due to the need to check tens of thousands to hundreds of thousands of differences over several days to weeks.
A classification system that includes a difference detection unit, a classification pattern generation unit, and a result output unit to automatically generate and apply classification patterns to classify differences between text files, even when the patterns are unknown, using a combination of regular expressions and user-defined patterns.
The system reduces the workload from days to hours by automatically classifying differences into multiple patterns, allowing users to check similar patterns simultaneously and customize classification rules, thereby improving efficiency and accuracy.
Smart Images

Figure 2025187324000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a classification system, a classification method, and a classification program. [Background technology]
[0002] When upgrading a database, etc., differences may occur in the stored data due to changes in internal operations or specifications. This requires the user to check whether or not they need to take action regarding these differences. For example, changes to the version notation or compatibility do not require action, but data loss due to version incompatibility does. Each and every difference must be checked for its necessity, but depending on the size of the database, there may be tens of thousands to hundreds of thousands of differences. Checking differences between tens of thousands and hundreds of thousands of items is expected to take several days to several weeks, resulting in a heavy workload.
[0003] Patent Document 1 discloses a text classification rule creation device that creates classification rules with a tree structure that are used when classifying text data to be classified into one of a plurality of classes.
[0004] Patent Document 2 discloses a document processing device that detects differences between constituent elements based on word dependencies between the constituent elements in each of the documents being compared. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-240517 [Patent Document 2] JP 2017-91000 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, the technology disclosed in Patent Document 1 requires the preparation of classified text in advance, and the classes to be classified are predetermined and cannot be customized. Furthermore, the technology disclosed in Patent Document 2 classifies documents according to fixed rules, making it impossible to increase the granularity of classification and customizing the classes to be classified. Since it is difficult to predict what kind of differences will occur when upgrading a database, it is difficult to predetermine the classes to be classified. Therefore, with the above-mentioned technology, it is difficult to classify differences according to unknown classification patterns in situations where it is difficult to predict what kind of differences will occur.
[0007] The present invention has been made in consideration of the above circumstances, and its purpose is to provide a classification system, classification method, and classification program that can classify multiple differences between text files into multiple patterns even when the classification pattern has not been determined. [Means for solving the problem]
[0008] One aspect of the present invention for solving the above problem is a classification system having a processor and a memory, and including a difference detection unit that detects differences between first text data and second text data that updates the first text data; a classification pattern generation unit that generates a plurality of classification patterns for classifying the differences based on the detected differences; a difference classification unit that classifies the detected differences based on the generated classification patterns; and a result output unit that outputs the classification results of the differences. [Effects of the Invention]
[0009] According to the present invention, even if the classification pattern is not determined, the differences between text files can be classified into a plurality of patterns. Configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 2 is a block diagram illustrating an example of a functional configuration of the classification system. [Figure 2] FIG. 2 illustrates an example of a hardware configuration of the classification system. [Figure 3] FIG. 2 is a process flow diagram illustrating an overview of the processes performed in the classification system. [Figure 4] 10A and 10B are diagrams illustrating examples of source data, destination data, and a difference table. [Figure 5] FIG. 10 is a processing flow diagram illustrating details of a sort pattern generation process. [Figure 6] FIG. 10 is a diagram illustrating an outline of a process for detecting a difference in units of words. [Figure 7] FIG. 10 is a diagram illustrating an example of a classification pattern table. [Figure 8] FIG. 10 is a diagram illustrating an example of a manually created classification pattern table. [Figure 9] FIG. 10 is a process flow diagram illustrating details of a difference classification process. [Figure 10] FIG. 10 is a diagram illustrating an example of difference confirmation data. [Figure 11] FIG. 10 is a diagram illustrating an example of a difference confirmation screen. [Figure 12] FIG. 10 is a diagram illustrating an example of a differential pair table. [Figure 13] FIG. 10 is a diagram illustrating an example of tag data. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The following description and drawings are examples for explaining the present invention, and some omissions and simplifications have been made as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural. In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings. In the following explanation, various types of information may be described using expressions such as "table," "list," and "queue," but the various types of information may also be expressed using data structures other than these. To indicate that the information is not dependent on the data structure, "XX table," "XX list," etc. may be referred to as "XX information." When describing identification information, expressions such as "identification information," "identifier," "name," "ID," and "number" are used, but these are interchangeable. When there are multiple components with the same or similar functions, they may be described using the same reference numeral with different subscripts. However, when there is no need to distinguish between these multiple components, the subscripts may be omitted. Furthermore, in the following description, processing performed by executing a program may be described, but the program is executed by a processor (e.g., a CPU or a GPU (Graphics Processing Unit)) to perform the specified processing while appropriately using storage resources (e.g., memory) and / or interface devices (e.g., communication ports), and therefore the processor may be the subject of the processing. Similarly, the subject of the processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The subject of the processing performed by executing a program may be any computing unit, and may include a dedicated circuit (e.g., an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit)) that performs specific processing. A program may be installed on a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. If the program source is a program distribution server, the program distribution server may include a processor and storage resources for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. Also, in the following description, two or more programs may be realized as one program, and one program may be realized as two or more programs.
[0012] [First embodiment] First, a classification system, a classification method, and a classification program according to a first embodiment will be described.
[0013] <Classification System> 1 is a block diagram showing an example of the functional configuration of a classification system 10. The classification system 10 is an information processing device that automatically classifies differences between multiple pieces of text data into multiple groups and outputs the results. In this embodiment, an example will be described in which differences in database data resulting from a migration such as a version upgrade are classified.
[0014] The classification system 10 includes the functions of a difference detection unit 101, a classification pattern generation unit 102, a difference classification unit 103, and a result output unit 104.
[0015] The difference detection unit 101 detects differences between original data 201 (first text data) and destination data 202 (second text data), and generates a difference table 300 that indicates the detected differences. The original data 201 is, for example, a dump file of a database before migration (before update). The destination data 202 is, for example, a dump file of a database after migration (after update). A dump file is data in which the contents of a database are output, such as data in which information such as tables contained in a database is output in the form of SQL (Structured Query Language) statements.
[0016] The sorting pattern generation unit 102 generates a sorting pattern table 600 that stores a plurality of sorting patterns for sorting the differences, based on the difference table 300. The sorting patterns are rules and clusters (groups) for sorting the detected differences.
[0017] The difference classification unit 103 classifies the detected differences based on the difference table 300 and the classification pattern table 600 .
[0018] The result output unit 104 outputs difference check data 800 as a classification result obtained by classifying the detected differences using the classification pattern. The result output unit 104 may display the difference check data 800 on a display device such as a display, or may transmit the difference check data 800 to another device such as a user terminal used by the user.
[0019] 2 is a diagram illustrating an example of the hardware configuration of the classification system 10. As an example, the classification system 10 includes a processing device 11 such as a central processing unit (CPU), a memory 12 such as a random access memory (RAM) or a read-only memory (ROM), a storage device 13 such as a hard disk drive (HDD) or a solid state drive (SSD), an input device 14 such as a keyboard, a mouse, or a touch panel, an output device 15 such as a display or a printer, and a communication device 16 configured with a network interface card (NIC), a wireless communication module, a universal serial interface (USB) module, a serial communication module, or the like. The processing device 11, the memory 12, the storage device 13, the input device 14, the output device 15, and the communication device 16 are connected to each other via a bus.
[0020] In classification system 10, data such as programs used to execute predetermined processes is stored in storage device 13, for example, and is read into RAM in memory 12 and executed by processing device 11. Classification system 10 realizes each of the functions of difference detection unit 101, classification pattern generation unit 102, difference classification unit 103, and result output unit 104 by processing device 11 reading out programs stored in storage device 13 into memory 12 and executing them.
[0021] The programs that realize the functions of the difference detection unit 101, sort pattern generation unit 102, difference classification unit 103, and result output unit 104 may be pre-recorded on an external storage medium, or may be installed when necessary via a predetermined communication network. Also, the programs that realize the functions of the difference detection unit 101, sort pattern generation unit 102, difference classification unit 103, and result output unit 104 may be recorded on, for example, a portable or fixed recording medium and distributed.
[0022] In the following, we will explain the case where classification system 10 is configured by a single computer, but similar functions may be realized by distributing all or part of these functions across one or more computers, such as a cloud, and communicating with each other via a network. Next, we will explain the processing performed by classification system 10.
[0023] <Processing Overview> 3 is a processing flow diagram illustrating an overview of the processing performed by the classification system 10. The processing shown in this diagram is executed, for example, when a predetermined input (e.g., input of source data 201 and destination data 202) is made to the classification system 10 by a user, or at a predetermined timing (e.g., at a predetermined time or a predetermined time interval).
[0024] First, the difference detection unit 101 detects the differences between the original data 201 and the destination data 202 on a row-by-row basis, and generates a difference table 300 that indicates the detected differences (S1).
[0025] (Difference table) FIG. 4 is a diagram showing an example of source data, destination data, and a difference table. In the example shown, source data 201 is a dump file of the database before migration. Destination data 202 is a dump file of the database after migration. The difference table 300 is tabular data having data items such as item 301, in which the text of the source data 201 is set line by line, and item 302, in which the text of the destination data 202 is set line by line. Item 301 and item 302 are set in association with text that has differences between the source data 201 and the destination data 202 (i.e., different parts of the text). One row of records in the illustrated difference table 300 corresponds to one difference.
[0026] For example, the difference detection unit 101 uses an algorithm such as Gestalt pattern matching to detect the difference between the original data 201 and the destination data 202. When the original data 201 and the destination data 202 are not one-to-one but multiple, the difference detection unit 101 may identify pairs (combinations) of corresponding original data 201 and destination data 202 by locality-sensitive hashing or similarity calculation, and detect the difference for each identified pair individually.
[0027] Next, sort pattern generation unit 102 executes a sort pattern generation process to generate a differential sort pattern based on difference table 300 (S2).
[0028] <Classification pattern generation process> 5 is a process flow diagram illustrating the details of the sort pattern generation process, which corresponds to the process in S2 described above.
[0029] First, sort pattern generation unit 102 executes the following steps S201 to S203 for each of all differences registered in difference table 300.
[0030] First, the categorization pattern generation unit 102 reads one differential record from the differential table 300, and divides the text of the original data 201 set in the item 301 of the read record into words separated by spaces (S201).
[0031] Next, the categorization pattern generation unit 102 divides the text of the destination data 202 set in the item 302 of the read record into words separated by spaces (S202).
[0032] Next, the categorization pattern generation unit 102 detects differences on a word-by-word basis and counts the pairs (hereinafter sometimes referred to as "difference pairs") (S203). For example, the categorization pattern generation unit 102 compares the original data 201 and the destination data 202 on a word-by-word basis and detects pairs of words that are different between the original data 201 and the destination data 202 as difference pairs. In other words, the categorization pattern generation unit 102 detects one or more words that are differences in text (sentences) between the original data 201 and the destination data 202.
[0033] 6 is a diagram illustrating an overview of the process of detecting differences on a word-by-word basis. For example, the sort pattern generation unit 102 detects the difference pair "5.7.22" and "8.0.28" from the record 311 in the first row of the difference table 300, as shown in the record 411 in the first row of the intermediate data 400. Furthermore, the sort pattern generation unit 102 detects two difference pairs, the difference pair "int(11)" and "int", and the difference pair "bigint(20)" and "bigint", from the record 315 in the fifth row of the difference table 300, as shown in the record 415 in the fifth row of the intermediate data 400.
[0034] Then, the sorting pattern generation unit 102 counts the detected difference pairs. At this time, if there are multiple identical difference pairs in one difference (the text of one row of record in the difference table 300), the sorting pattern generation unit 102 counts them as 1. For example, although there are two occurrences of the word pair "bigint(20)" and "bigint" in record 313 in the third row of the difference table 300, the sorting pattern generation unit 102 counts this record 313 as 1. This is because difference pairs that classify a larger number of differences are used as sorting patterns.
[0035] Then, the sort pattern generation unit 102 generates a difference pair table 500 that indicates the count number of each difference pair. The difference pair table 500 is tabular data having, for example, data items for the difference pair: item 501 in which a word of the source data 201 is set, item 502 in which a word of the destination data 202 is set, and item 503 in which a count number is set. One row of record in the illustrated difference pair table 500 corresponds to one difference pair.
[0036] After executing the above-described processes of S201 to S203 for all differences, sort pattern generation unit 102 executes the following processes of S211 to S212 for all difference pairs registered in difference pair table 500.
[0037] First, the sort pattern generation unit 102 reads out a record of one difference pair from the difference pair table 500, and determines whether the count number set in item 503 of the read record is equal to or greater than a predetermined threshold value (2 in this embodiment) (S211). If the count number is less than 2 (S211: No), the sort pattern generation unit 102 ends processing for that difference pair (i.e., does not treat that difference pair as a sort pattern), and starts processing for the next difference pair.
[0038] On the other hand, if the count is 2 or more (S211: Yes), the categorization pattern generation unit 102 converts the words registered in items 501 and 502 of the differential pair into regular expressions and registers them as categorization patterns in the categorization pattern table 600 (S212).
[0039] (Classification pattern table) 7 is a diagram showing an example of a categorization pattern table. Categorization pattern table 600 is tabular data having data items such as item 601 in which the regular expression of a word in source data 201 is set, and item 602 in which the regular expression of a word in destination data 202 is set, for example, in a categorization pattern. One row of record in categorization pattern table 600 shown in the figure corresponds to one categorization pattern.
[0040] In the illustrated example, two classification patterns are set in the classification pattern table 600: classification patterns "utf\d+" and "utf\d+mb\d+", which are obtained by regularizing the differential pair "utf8" and "utf8mb3", which have a count of 2 or more; and classification patterns "bigint(\d+)" and "bigint", which are obtained by regularizing the differential pair "bigint(20)" and "bigint". In this example, the classification pattern generation unit 102 regularizes words by converting numerical values to "\d+". Note that classification patterns "A" and "B" indicate that the regular expression of the word in the source data 201 is "A" and the regular expression of the word in the destination data 202 is "B".
[0041] Alternatively, sort pattern generation unit 102 may accept a sort pattern setting input from the user. In this case, sort pattern generation unit 102 generates manually created sort pattern table 700, which stores sort patterns manually created by the user.
[0042] (Manually created classification pattern table) 8 is a diagram showing an example of a manually created sort pattern table. The data structure of the manually created sort pattern table 700 is the same as that of the sort pattern table 600. In the example shown in this figure, the sort patterns "--" and "--" are registered in the manually created sort pattern table 700. For example, if a user wants to sort differences in comments included in text into one group, the user may set "--", which represents a comment, as the sort pattern.
[0043] After sort pattern generation unit 102 has performed the above-described processes of S211 and S212 on all difference pairs, it ends this sort pattern generation process.
[0044] Following the classification pattern generation process, the difference classification unit 103 executes a difference classification process to classify each difference using a classification pattern (S3).
[0045] <Differential classification processing> 9 is a process flow diagram illustrating the details of the differential classification process. The process shown in this diagram corresponds to the process in S3 described above.
[0046] The difference classification unit 103 executes the following processes of S301 to S303 for each of all the differences registered in the difference table 300.
[0047] First, the difference classification unit 103 reads one difference from the difference table 300, and determines (S301) whether a classification pattern corresponding to the read difference is registered in the classification pattern table 600 or the manually created classification pattern table 700. Correspondence to a classification pattern means that the text of the original data 201 of the difference contains a word of the original data 201 of the classification pattern, and the text of the destination data 202 of the difference contains a word of the destination data 202 of the classification pattern.
[0048] If there is a classification pattern that corresponds to the difference (S301: Yes), the difference classification unit 103 classifies the difference into the corresponding classification pattern (S302).
[0049] On the other hand, if there is no classification pattern that corresponds to the difference (S301: Yes), the difference classification unit 103 classifies the difference as "pattern not corresponding" which indicates that there is no corresponding classification pattern (S303).
[0050] After performing the above-described processes of S301 to S303 on all differences, difference classification section 103 generates difference confirmation data 800 representing the classification results obtained by classifying the differences into classification patterns, and ends this difference classification process.
[0051] (Data for checking differences) 10 is a diagram showing an example of difference check data. In the illustrated example, difference check data 800 includes a first table 810 representing differences 812 corresponding to a first sorting pattern 811 (sorting patterns "--" and "--"), a second table 820 representing differences 822 corresponding to a second sorting pattern 821 (sorting patterns "bigint(\d+)" and "bigint"), and a third table 830 representing differences 832 corresponding to a third sorting pattern 831 (sorting patterns "utf\d+" and "utf\d+mb\d+"). Note that difference check data 800 may be any data that stores the results of sorting the differences, and is not limited to this example, and may be, for example, a table-format file or the like.
[0052] Following the difference classification process, the result output unit 104 displays the detected differences and the classification results of those differences on the difference confirmation screen 900 based on the difference confirmation data 800 (S4), after which the process ends.
[0053] (Difference confirmation screen) 11 is a diagram showing an example of a difference confirmation screen. The difference confirmation screen 900 shown in the figure has a summary display area 910 that displays a summary of the difference classification results, and a first individual information display area 920 to a third individual information display area 940 that display individual information of the differences classified into each classification pattern. Note that in the example shown in the figure, the summary and individual information are displayed on a single screen, but this is not limiting, and the summary and individual information may be displayed on separate screens so that they can be cross-referenced.
[0054] The summary display area 910 displays the item number of each classification pattern, the regular expression of the word in the source data 201, the regular expression of the word in the destination data 202, the number of cases, whether action is required, and notes. The number of cases displays the number of differences classified into the classification pattern. Whether action is required is an item in which the user sets and inputs whether or not to respond to the difference. Furthermore, the notes is an item in which the user sets and inputs notes regarding the classification pattern.
[0055] The first individual information display area 920 to the third individual information display area 940 display differences for each classification pattern. In the illustrated example, the first individual information display area 920 displays information from the first table 810, the second individual information display area 930 displays information from the second table 820, and the third individual information display area 940 displays information from the third table 830. The first individual information display area 920 to the third individual information display area 940 display the text of the original data and the text of the destination data of the differences, corresponding to the regular expressions of the words in the original data of the classification pattern and the regular expressions of the words in the destination data. In this way, by displaying the differences for each classification pattern (each group), the user can check the differences for the same pattern all at once. This reduces the user's workload required to determine whether or not a response to the differences is required.
[0056] The words that are the differences may be highlighted in the first individual information display area 920 to the third individual information display area 940. "Highlighting" includes changing the display color, changing the font size, changing the background color, adding a mark, etc.
[0057] Furthermore, instead of all the differences, only a representative predetermined number of differences (for example, several) may be displayed in the first individual information display area 920 to the third individual information display area 940. In other words, the number of actual differences may differ from the number of differences displayed in the first individual information display area 920 to the third individual information display area 940.
[0058] Furthermore, correction buttons 960 for correcting each difference are displayed in the first individual information display area 920 to the third individual information display area 940. The user can correct the difference by pressing the correction button 960. For example, the user can correct an incorrect classification (e.g., reclassify a specific difference into another classification pattern) by pressing the correction button 960 on the difference confirmation screen 900. The result output unit 104 accepts an input for correcting the difference classification result on the difference confirmation screen 900 and updates the classification pattern based on the accepted correction. For example, the result output unit 104 may delete from the classification pattern table 600 any classification patterns into which the difference has not been classified as a result of correcting the classification. Furthermore, the result output unit 104 may accept from the user, on the difference confirmation screen 900, a correction (change) of the classification pattern itself registered in the classification pattern table 600.
[0059] As described above, the classification system 10 of this embodiment includes a difference detection unit 101 that detects differences between first text data (original data 201) and second text data (destination data 202) that updates the first text data, a classification pattern generation unit 102 that generates multiple classification patterns for classifying the differences based on the detected differences, a difference classification unit 103 that classifies the detected differences based on the generated classification patterns, and a result output unit 104 that outputs the classification results of the differences.
[0060] That is, the classification system 10 of this embodiment automatically generates a classification pattern based on multiple detected differences. This makes it possible to classify differences according to unknown classification patterns in situations where it is difficult to predict what types of differences will occur. Therefore, even when the classification pattern has not been determined, differences between text files can be classified into multiple patterns. This allows the user to check differences with similar patterns all at once.
[0061] Furthermore, the classification system 10 of this embodiment detects words that are different between the first text data and the second text data from the detected differences, and includes the combination of the detected words in the classification pattern.
[0062] This allows a combination of words (difference pairs) that are differences to be used as a classification pattern, and differences that contain the same difference pair to be classified into one group. Therefore, even if the classification pattern has not been determined, the differences between text files can be classified into multiple patterns.
[0063] In addition, the classification system 10 of this embodiment detects words that differ between the first text data and the second text data from each of the detected differences, and includes in the classification pattern any combination of words that contains a predetermined number or more of the detected combinations of words.
[0064] That is, the classification system 10 of this embodiment generates classification patterns on a statistical basis for character strings (words) in text data. This allows frequently occurring difference pairs to be used as classification patterns. Therefore, for example, a certain number of classification patterns can be generated regardless of the size of the database. As a result, even if tens of thousands to hundreds of thousands of differences occur during database migration, the differences are automatically classified into several dozen patterns. Therefore, since the user only needs to check several dozen difference patterns, the checking work can be reduced to several hours, and the checking workload can be reduced.
[0065] Furthermore, the classification system 10 of this embodiment detects words that differ between the first text data and the second text data from the detected differences, and includes combinations of the detected words in regular expressions in the classification patterns.
[0066] By converting words into regular expressions in this way, it is possible to eliminate duplication of classification patterns and generate classification patterns that can be matched universally.
[0067] Furthermore, the classification system 10 of this embodiment accepts input of a classification pattern from the user, and classifies the detected differences based on the classification pattern input by the user and the generated classification pattern.
[0068] This allows users to customize classification patterns as desired. For example, it is possible to set classification patterns that cannot be generated from differences. For example, if you want to classify comments contained in text data into one group, the user can manually set a word contained in the comment (for example, "--") as the classification pattern.
[0069] Furthermore, the classification system 10 of this embodiment accepts input of corrections to the differential classification results from the user, and updates the classification pattern based on the accepted corrections.
[0070] This allows the user to closely examine and change the results of the difference classification, thereby further improving the accuracy of the difference classification.
[0071] In addition, the classification system 10 of this embodiment displays an overview and individual information for each classification pattern, and as the overview, for each classification pattern, displays a correspondence between regularized words in the first text data and regularized words in the second text data, and as individual information, for each difference classified into a classification pattern, displays a correspondence between first text data corresponding to regularized words in the first text data of the classification pattern and second text data corresponding to regularized words in the second text data of the classification pattern.
[0072] By displaying the results of the difference classification in a user-friendly format in this way, the burden on the user of checking the differences can be further reduced.
[0073] Furthermore, when there are a plurality of first text data and a plurality of second text data, the classification system 10 of this embodiment extracts combinations of data that are in a corresponding relationship, and detects differences for each of the extracted combinations.
[0074] As a result, even if there are a plurality of first text data and a plurality of second text data, it is possible to associate the data with each other and appropriately detect the difference.
[0075] In addition, the first text data in this embodiment is a dump file of the database before the update, and the second text data is a dump file of the database after the update.
[0076] This reduces the burden of checking the differences between data before and after migration, such as when upgrading a database.
[0077] [Second embodiment] Next, a classification system, a classification method, and a classification program according to the second embodiment will be described. This embodiment differs from the first embodiment in that a classification pattern is generated by feeding back the results of past classification of differences by the classification system 10.
[0078] (Differential pair table) 12 is a diagram showing an example of a differential pair table. The differential pair table 500A shown in this diagram has an additional data item, a score based on past data 504, compared to the differential pair table 500 in the first embodiment. The score based on past data 504 is set to a score based on a classification pattern generated in the past from differences between other text data. For example, the more classification patterns have been generated in the past, the larger the score value, and the fewer classification patterns have been generated in the past, the smaller the score value. The other data configurations of the differential pair table 500A are the same as those of the differential pair table 500, so a description thereof will be omitted.
[0079] In the process of S211 described above, the sort pattern generation unit 102 determines whether or not to generate a sort pattern corresponding to a difference pair based on the count number and the score based on past data. For example, the sort pattern generation unit 102 may determine whether or not to generate a sort pattern based on a value obtained by multiplying the count number by the score based on past data as a weight.
[0080] Additionally, sort pattern generation unit 102 may add tag data representing the characteristics of source data 201 and destination data 202 to the generated sort patterns.
[0081] (tag data) FIG. 13 is a diagram illustrating an example of tag data. The tag data 1200 is information (e.g., attributes) that represents the characteristics of the original data 201 and the destination data 202. The tag data 1200 illustrated in this figure includes information regarding the database type 1201 ("Database #1") of the original data 201 and the destination data 202, the database version 1202 ("5.7") of the original data 201, and the database version 1203 ("8.0") of the destination data 202. The tag data 1200 illustrated in the figure represents the difference between database #1 and the destination data 202 when the database is upgraded from version 5.7 to version 8.0. The tag data 1200 may be set and input by a user, or may be automatically generated by the classification system 10 based on the original data 201 and the destination data 202.
[0082] The categorization pattern generation unit 102 may increase the score 504 of a past categorization pattern to which the same or similar tag data is assigned, more than the score 504 of a past categorization pattern to which other tag data is assigned. For example, if the tag data of the current target original data 201 and target data 202 is {database #1, 5.7, 8.0}, the categorization pattern generation unit 102 may increase the score 504 of a categorization pattern to which the same tag data {database #1, 5.7, 8.0} is assigned, more than the score 504 of a categorization pattern to which other tag data is assigned. In this way, the categorization pattern generation unit 102 generates, with priority, categorization patterns to which the same or similar tag data is assigned, among the categorization patterns generated in the past, over categorization patterns to which the same or similar tag data is not assigned.
[0083] Furthermore, the result output unit 104 may accept input from the user on the difference confirmation screen 900 to modify the difference classification result or the classification pattern, and update the classification pattern registered in the classification pattern table 600 based on the accepted modification. In other words, the user may be able to modify the classification pattern used for the current classification. This allows the modification of the current classification pattern to be reflected in the score 504 the next time differences are classified. This makes it possible to make the classification patterns generated from the next time onwards more suitable for the classification of differences, thereby improving the accuracy of difference classification.
[0084] As described above, the classification system 10 of this embodiment generates classification patterns that have been generated in the past with priority over classification patterns that have not been generated in the past.
[0085] This allows the current adoption criterion to be whether the classification pattern has been adopted in the past, making it possible to generate a classification pattern that is more suitable for classifying the difference.
[0086] In addition, previously generated classification patterns are assigned tags that represent the characteristics of the text data, and the classification system 10 of this embodiment preferentially generates classification patterns from previously generated classification patterns that have been assigned tags that are identical or similar to tags that represent the characteristics of the first text data and the second text data, over classification patterns that do not have the same or similar tags.
[0087] This makes it possible to generate classification patterns that are more suited to the characteristics of the text data being detected for differences. For example, the classification patterns used in the past when updating the same type of database to the same version can be used for the current classification.
[0088] The present invention is not limited to the above-described embodiments, and can be implemented using any components within the scope of the present invention. The above-described embodiments and modifications are merely examples, and the present invention is not limited to these contents as long as the characteristics of the invention are not impaired. Furthermore, although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other aspects conceivable within the scope of the technical idea of the present invention are also included within the scope of the present invention.
[0089] For example, part of the hardware provided in each device of this embodiment may be provided in another device.
[0090] Furthermore, each program of classification system 10 may be provided on another device, a program may consist of multiple programs, or multiple programs may be integrated into one program. [Explanation of symbols]
[0091] 10 Classification Systems 101 Difference detection unit 102 Classification pattern generation unit 103 Differential classification part 104 Result output section
Claims
1. a processor and a memory; a difference detection unit that detects a difference between first text data and second text data that updates the first text data; a classification pattern generation unit that generates a plurality of classification patterns for classifying the differences based on the detected differences; a difference classification unit that classifies the detected differences based on the generated classification pattern; a result output unit that outputs a classification result obtained by classifying the difference; A classification system comprising:
2. the categorization pattern generation unit detects words that are different between the first text data and the second text data from the detected difference, and includes a combination of the detected words in the categorization pattern. The classification system of claim 1 .
3. the categorization pattern generation unit detects words that are different between the first text data and the second text data from each of the detected differences, and includes, in the categorization pattern, combinations of words that are equal to or greater than a predetermined number of the detected word combinations. The classification system of claim 2 .
4. the categorization pattern generation unit detects words that differ between the first text data and the second text data from the detected differences, and includes combinations of the detected words, each of which is converted into a regular expression, in the categorization pattern.
4. The classification system according to claim 2 or 3.
5. the sort pattern generation unit receives input of the sort pattern from a user; the difference classification unit classifies the detected differences based on a classification pattern input by a user and a generated classification pattern; The classification system of claim 1 .
6. the sort pattern generation unit generates sort patterns that have been generated in the past with priority over sort patterns that have not been generated in the past. The classification system of claim 1 .
7. Previously generated classification patterns are tagged with tags that represent the characteristics of the text data. the sorting pattern generation unit generates, from among previously generated sorting patterns, sorting patterns to which tags identical or similar to tags representing characteristics of the first text data and the second text data are assigned preferentially over sorting patterns to which identical or similar tags are not assigned. The classification system of claim 6.
8. the result output unit receives an input of a correction to the difference classification result from a user, and updates the classification pattern based on the received correction. The classification system of claim 1 .
9. the result output unit displays a summary and individual information of each classification pattern, and as the summary, for each classification pattern, displays regularized words of the first text data and regularized words of the second text data in association with each other, and as the individual information, for each difference classified into a classification pattern, displays the first text data associated with the regularized words of the first text data of the classification pattern and the second text data associated with the regularized words of the second text data of the classification pattern in association with each other. The classification system of claim 4.
10. When there are a plurality of the first text data and the second text data, the difference detection unit extracts a combination of data in a corresponding relationship and detects a difference for each of the extracted combinations. The classification system of claim 1 .
11. the first text data is a dump file of the database before updating, the second text data is a dump file of the database after updating; The classification system of claim 1 .
12. The information processing device a difference detection process for detecting a difference between first text data and second text data that updates the first text data; a classification pattern generation process for generating a plurality of classification patterns for classifying the differences based on the detected differences; a difference classification process for classifying the detected differences based on the generated classification pattern; a result output process for outputting a classification result obtained by classifying the difference; A classification method to perform.
13. In the information processing device, a difference detection process for detecting a difference between first text data and second text data that updates the first text data; a classification pattern generation process for generating a plurality of classification patterns for classifying the differences based on the detected differences; a difference classification process for classifying the detected differences based on the generated classification pattern; a result output process for outputting a classification result obtained by classifying the difference; A classification program that executes the following.
Citation Information
Patent Citations
Text classification rule preparing device and method, and text classification rule preparing program
JP2004240517A
Document processing apparatus, method, and program
JP2017091000A