This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-153306 filed on Jul. 28, 2014, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a search method, a search device, and a storage medium.
In multiple information processing devices included in a system, the same predetermined settings such as the installation of software, various settings, and changes of settings are configured in some cases, for example. Traditionally, in order to configure settings in the information processing devices, an operator references an operation manual describing a procedure for the settings to be configured in the information processing devices and sequentially configures the predetermined settings in the multiple information processing devices in accordance with the operation manual.
Systems, however, have become larger. Thus, if the operator goes to locations at which the information processing devices are to be installed and configures the predetermined settings in accordance with the operation manual, the cost of the task is large. Recently, automation software for automating processes described in an operation manual is generated from the operation manual and executed in information processing devices to be subjected to settings and automatically configures the settings in the information processing devices. The automation software includes multiple statements (commands) for executing the processes described in the operation manual and is stored with a simple description of the automation software.
Related arts are Japanese Laid-open Patent Publications Nos. 2012-190284, 2013-196468, 2000-222215, 2013-196006, and 2008-117029.
In the generation of automation software from a new operation manual, the number of processes related to automation may be reduced by referencing previously generated automation software.
It is, however, difficult to appropriately classify and manage automation software generated by different persons or to be applied to different devices. Thus, existing automation software to be referenced in order to generate the automation software from the new operation manual may not be found through a search, or a meaningless process may be executed in order to find the existing automation software through a search.
In addition, it is considered that automation software that is similar to the new operation manual is searched as automation software to be referenced. However, since a description format of the operation manual is different from a description format of the automation software, the automation software that is similar to the new operation manual may not be found through a search by simply comparing character strings.
According to an aspect of the invention, a search method includes: extracting a plurality of processes from a target operation manual from which automation software that is obtained by converting, into a plurality of commands, the plurality of processes included in the target operation manual describing a procedure for configuring settings in an information processing device is generated; comparing the plurality of processes extracted from the target operation manual with a plurality of processes included in each of a plurality of existing operation manuals stored in a storage device storing the existing operation manuals and automation software generated from the existing operation manuals and associated with the existing operation manuals while maintaining the orders of the pluralities of processes; calculating, by a processor, first similarities that are similarities between the existing operation manuals and the target operation manual based on the comparing; and searching, based on the calculated first similarities, an existing operation manual similar to the target operation manual and automation software associated with the existing operation manual and stored in the storage device.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
According to an aspect of embodiments of a search method disclosed herein, existing automation software to be referenced in order to automate an operation manual may be found through a search. Hereinafter, an example of the embodiments is described in detail with reference to the accompanying drawings.
Before a detailed description of the embodiments, an operation manual assumed in the embodiments, an example of an automation script generated from the operation manual, and an outline of the embodiments are described. The automation script is an example of automation software described in claims.
The operation manual describes a procedure for settings to be configured in an information processing device to be subjected to the automation. The settings to be configured in the information processing device are an operation of additionally installing the information processing device, an update operation to be performed due to the addition of a function, an operation of fixing a failure, and the like. It is assumed that the operation manual is generated as a single file in a text format for a single operation group.
The operator's operation 102 is a description, such as “log into server”, of an operation to be performed by an operator and is described in a natural language. The command strings 103 are descriptions of multiple statements (commands) representing processes to be executed in the information processing device. In
As illustrated in
As illustrated in
In the embodiments, as illustrated in
Hereinafter, the embodiments are described. In the following description, if the target operation manual 100A and the existing operation manuals 100B are not distinguished, the operation manuals 100A and 100B are merely referred to as “operation manuals 100”. In addition, if the automation script 200A and the automation scripts 200B are not distinguished, the automation scripts 200A and 200B are merely referred to as “automation scripts 200”.
As illustrated in
Operation manual IDs that identify the existing operation manuals 100B are given to files representing the existing operation manuals 100B and are stored in the operation manual DB 31, as illustrated in
The command extractor 21 extracts commands from command strings 103 included in the input target operation manual 100A and command strings 103 included in the existing operation manuals 100B stored in the operation manual DB 32. A rule for identifying descriptions of commands based on a description format of the operation manuals may be defined in advance, and the commands may be extracted in accordance with the rule. For example, as described above, if the commands included in the command strings 103 are described while being segmented into rows starting with “#”, respectively, each command may be extracted as a single command starting from a character next to “#” and ending at the end of a row. For example, as illustrated in
The command associating unit 22 associates a command extracted from the target operation manual 100A with a command extracted from each of the existing operation manuals 100B in order to calculate similarities between the target operation manual 100A and the existing operation manuals 100B. In this case, the commands have a similarity that is equal to or larger than a predetermined threshold THc and largest and are associated with each other so as to maintain the order of commands included in the target operation manual 100A and the order of commands included in the existing operation manual 100B.
Specifically, the command associating unit 22 acquires, from the operation manual DB 33, the command strings extracted from the target operation manual 100A and command strings extracted from each of the existing operation manuals 100B. Then, the command associating unit 22 calculates similarities between commands included in the acquired command strings, as illustrated in
As illustrated in
In the example illustrated in
The command associating unit 22 associates a next command of the target operation manual 100A with a command of the existing operation manual 100B in the same manner as described above. In this case, in order to maintain the orders of the commands included in the command strings, a command that is included in the existing operation manual 100B and precedes the command included in the existing operation manual 100B and already associated with the command of the target operation manual 100A is excluded from commands to be associated. This is due to the fact that it is considered that the operation manuals 100 almost do not include a conditional branch such as an if statement, procedures for settings to be configured in an information processing device are sequentially described from the top to the bottom in the operation manuals 100 in order of the execution of the procedures in many cases, and the orders in which commands are executed are not normally changed.
In the example illustrated in
The file similarity calculator 23 calculates file similarities between the target operation manual 100A and the existing operation manuals 100B based on the results of associating commands of the target operation manual 100A with commands of the existing operation manuals 100B by the command associating unit 22. The file similarities between the target operation manual 100A and the existing operation manuals 100B are an example of “similarities between operation manuals” that are described in claims. As the number of commands included in an existing operation manual 100B and associated with commands of the target operation manual 100A is larger, the file similarity between the target operation manual 100A and the existing operation manual 100B may increase. For example, the file similarity between the target operation manual 100A and the existing operation manual 100B may be a value obtained by dividing the number of commands included in the existing operation manual 100B and associated with commands included in the target operation manual 100A by a larger one of the number of the commands included in the target operation manual 100A and the number of commands included in the existing operation manual 100B.
For example, as illustrated in
The file similarity calculator 23 associates the calculated file similarities with the operation manual ID of the target operation manual 100A and the operation manual IDs of the existing operation manuals 100B and causes the file similarities and the operation manual IDs to be temporarily stored in the predetermined storage region.
The searcher 24 searches, as an existing operation manual 100B similar to the target operation manual 100A, an existing operation manual 100B of which a file similarity, calculated by the file similarity calculator 23, with the target operation manual 100A is equal to or larger than a predetermined threshold THf1. Specifically, the searcher 24 searches the existing operation manual 100B from the operation manual DB 31 based on an operation manual ID, associated with the file similarity equal to or larger than the threshold THf1, of the existing operation manual 100B.
Even if a file similarity between the target operation manual 100A and an existing operation manual 100B is largest among the calculated file similarities, the existing operation manual 100B may not be similar to the target operation manual 100A. Thus, the existing operation manual 100B of which the file similarity is equal to or larger than the threshold THf1 is selected. Thus, if a file similarity between the target operation manual 100A and an existing operation manual 100B is smaller than the threshold THf1, the existing operation manual 100B is not searched as an existing operation manual 100B similar to the target operation manual 100A. The threshold THf1 is set in advance based on the accuracy requested for the search device or the like.
The number of existing operation manuals 100B similar to the target operation manual 100A may be 1 or more. For example, a single existing operation manual 100B of which a file similarity with the target operation manual 100A is equal to or larger than the predetermined threshold THf1 and largest among the calculated file similarities may be searched, or all existing operation manuals 100B of which file similarities with the target operation manual 100A are equal to or larger than the predetermined threshold THf1 may be searched. Alternatively, existing operation manuals 100B of which file similarities with the target operation manual 100A are equal to or larger than the predetermined threshold THf1 and are the top N file similarities may be searched. In the example illustrated in
The searcher 24 searches, from the automation script DB 32, an automation script 200B associated with the searched existing operation manual 100B similar to the target operation manual 100A. Specifically, the searcher 24 searches the automation script 200B associated with an operation manual ID stored in an “operation manual ID” item of the automation script DB 32 and identifying the searched existing operation manual 100B. The example illustrated in
The search device 10 may be achieved by a computer 40 illustrated in
The storage unit 43 may be achieved by a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or the like. A search program 50 that causes the computer 40 to function as the search device 10 is stored in the storage unit 43 serving as a storage medium. In addition, the storage unit 43 includes an operation manual storage region 61 for storing information forming the operation manual DB 31, an automation script storage region 62 for storing information forming the automation script DB 32, and an operation manual command storage region 63 for storing information forming the operation manual command DB 33.
The CPU 41 reads the search program 50 into the storage unit 43, loads the search program 50 into the memory 42, and sequentially executes processes included in the search program 50. In addition, the CPU 41 reads the information stored in the operation manual storage region 61 and loads, into the memory 42, the read information as the operation manual DB 31 illustrated in
The search program 50 includes a command extraction process 51, a command association process 52, a file similarity calculation process 53, and a search process 54. The CPU 41 operates as the command extractor 21 illustrated in
The search device 10 may be achieved by a semiconductor integrated circuit, for example. Specifically, the search device 10 may be achieved by an application specific integrated circuit (ASIC) or the like.
Next, effects of the search device 10 according to the first embodiment are described. It is assumed that multiple existing operation manuals 100B are stored in the operation manual DB 31 and that automation scripts associated with the existing operation manuals 100B stored in the operation manual DB 31 are stored in the automation script DB 32. In this state, when the person in charge of automation inputs the target operation manual 100A to the search device 10, a search process illustrated in
The following assumes that sequential operation manual IDs 1, 2, . . . are given to the existing operation manuals 100B stored in the operation manual DB 31. An existing operation manual 100B with an operation manual ID=i is referred to as an “existing operation manual Pi”. In addition, an automation script generated from the existing operation manual Pi is referred to as an “automation script Si”, and the target operation manual 100A is referred to as a “target operation manual PT”. In addition, sequential command IDs 1, 2, . . . are given to commands extracted from each of the target operation manual PT and existing operation manuals Pi. In addition, a command with a command ID=j extracted from the target operation manual PT is referred to as a “command cT,j”, and a command with a command ID=m extracted from an existing operation manual Pi is referred to as a “command ci, m”.
In step S11 of the search process illustrated in
Next, in step S12, the command associating unit 22 sets, to 1, a variable i for identifying an existing operation manual Pi to be processed. The variable i is 1, 2, . . . , I, while I is the number of the existing operation manuals 100B. Next, in step S13, the command associating unit 22 sets, to 1, a variable j for identifying a command cT,j that is among the commands included in the target operation manual PT and is to be processed. The variable j is 1, 2, . . . , J, while J is the number of the commands included in the target operation manual PT.
Next, in step S14, the command associating unit 22 calculates similarities between the command cT,j of the target operation manual PT and commands ci, m′ of the existing operation manual Pi. In this case, m is 1, 2, . . . , M(i), and M(i) is the number of the commands included in the existing operation manual Pi. In addition, m′ is in the range of m and represents the commands excluding a command preceding a command associated with the command cT,j of the target operation manual PT. For example, if m=1, 2, . . . , 5, and the command associated with the command CT, of the target operation manual PT and having the largest command ID is a command ci, 2, m′=3, 4, 5.
Next, in step S15, the command associating unit 22 determines whether or not the largest value among the similarities calculated in the aforementioned step S14 is equal to or larger than the threshold THc. If the largest value among the similarities is equal to or larger than the threshold THc, the process proceeds to step S16. In step S16, the command associating unit 22 associates a pair of the operation manual ID of the target operation manual PT and the command ID (j) of the command cT,j with a pair of the operation manual ID (i) of the existing operation manual Pi and the command ID of a command ci,m′ of which a similarity with the command cT,j is largest among the calculated similarities. Then, the command associating unit 22 causes the results of the association to be temporarily stored in the predetermined storage region, and the process proceeds to step S17. On the other hand, if the command associating unit 22 determines that the largest value among the similarities is smaller than the threshold THc in the aforementioned step S15, the process skips step S16 and proceeds to step S17.
In step S17, the command associating unit 22 determines whether or not the variable j reaches J, and the command associating unit 22 thereby determines whether or not the command associating unit 22 executes a process of associating all the commands included in the target operation manual PT with commands included in the existing operational manual Pi. If the variable j does not reach J, the process proceeds to step S18, the command associating unit 22 increments the variable j by 1, and the process returns to step S14. If the variable j reaches J, the process proceeds to step S19.
In step S19, the file similarity calculator 23 calculates a file similarity between the target operation manual PT and the existing operation manual Pi based on the results of associating commands of the target operation manual PT and existing operation manual Pi by the command associating unit 22. For example, as the file similarity, a value obtained by dividing the number of commands included in the existing operation manual Pi and associated with commands included in the target operation manual PT by a larger one of the number of all the commands included in the target operation manual PT and the number of all commands included in the existing operation manual Pi is calculated. The file similarity calculator 23 associates the calculated file similarity with the operation manual ID of the target operation manual PT and the operation manual ID (i) of the existing operation manual Pi and causes the calculated file similarity, the operation manual ID of the target operation manual PT, and the operation manual ID (i) of the existing operation manual Pi to be temporarily stored in the predetermined storage region.
Next, in step S20, the file similarity calculator 23 determines whether or not the variable i reaches I, and the file similarity calculator 23 thereby determines whether or not the file similarity calculator 23 calculates file similarities between the target operation manual PT and all the existing operation manuals Pi stored in the operation manual DB 31. If the variable i does not reach I, the process proceeds to step S21, the file similarity calculator 23 increments the variable i by 1, and the process returns to step S13. If the variable i reaches I, the process proceeds to step S22.
In step S22, the searcher 24 searches, based on an operation manual ID (i) identifying an existing operation manual Pi and associated with a file similarity that is among the file similarities calculated in the aforementioned step S19 and is equal to or larger than the threshold THf1, the interested existing operation manual Pi from the operation manual DB 31. For example, the searcher 24 may search a single existing operation manual Pi of which a file similarity with the target operation manual PT is equal to or larger than the threshold THf1 and is largest among the calculated file similarities. Alternatively, the searcher 24 may search all existing operation manuals Pi of which file similarities with the target operation manual PT are equal to or larger than the threshold THf1, or the searcher 24 may search all existing operation manuals Pi of which file similarities with the target operation manual PT are equal to or larger than the threshold THf1 and are the top N file similarities.
In addition, the searcher 24 searches an automation script Si associated with the operation manual ID of the searched existing operation manual Pi and stored in the automation script DB 32. Then, the searcher 24 displays the searched existing operation manual Pi and the searched automation script Si on a display device, presents the searched existing operation manual Pi and the searched automation script Si to the person in charge of automation, and terminates the process.
As described above, the search device 10 according to the first embodiment associates the existing operation manuals with the automation scripts generated from the existing operation manuals and stores the existing operation manuals and the automation scripts. When the target operation manual to be subjected to automation is input, the search device 10 associates commands while maintaining the orders of commands included in command strings and corresponding to multiple processes included in each of the operation manuals and searches an existing operation manual similar to the target operation manual based on the results of the association. Then, the search device 10 presents the searched existing operation manual and an automation script associated with the existing operation manual. Since a description format of an operation manual is different from a description format of an automation script, a similarity between the operation manual and the automation script may not be accurately calculated by simply comparing character strings. In the present embodiment, however, the similarities between the operation manuals of the same description format are calculated, as described above. Then, an existing operation manual that is similar to the target operation manual is searched, and an automation script associated with the searched operation manual is searched. Thus, an existing automation script to be referenced for automation of the operation manual may not be found through a search by simply comparing character strings of the target operation manual and existing automation script, but may be found through a search in the first embodiment.
The first embodiment describes the case where each existing operation manual is associated with a respective automation script generated from the existing operation manual. Each existing operation manual, however, may be associated with a number N of automation scripts. Alternatively, a number N of existing operation manuals may be associated with a single automation script or may be associated with a number N of automation scripts.
If each existing operation manual is associated with multiple automation scripts, all automation scripts associated with the operation manual ID of a searched existing operation manual similar to the target operation manual may be searched.
Next, a second embodiment is described. The first embodiment describes the case where the existing operation manuals 100B and the automation scripts 200B generated from the existing operation manuals 100B are associated and stored. The existing operation manuals 100B and the automation scripts 200B are not considered to be associated and managed in many cases in light of the number of processes for the management and the fact that an operation manual is not referenced for an automated task. The second embodiment describes a case where the association of the existing operation manuals 100B with the automation scripts 200B is executed.
Parts that are the same as the search device 10 according to the first embodiment are represented by the same reference numerals as the first embodiment, and a detailed description thereof is omitted.
As illustrated in
For example, as illustrated in
The command extractor 221 extracts the commands from the command strings included in the input target operation manual 100A and the command strings 103 included in the existing operation manuals 100B stored in the operation manual DB 31 in the same manner as the command extractor 21 according to the first embodiment.
In addition, the command extractor 221 extracts the commands from the command strings 202 included in the automation scripts 200B stored in the automation script DB 232, as illustrated in
The command extractor 221 references conversion definitions 201 of the automation scripts 200 and reconverts a variable converted from a specific character string into the character string before the conversion in order to generate an automation script from an operation manual. For example, it is assumed that a conversion definition 201 illustrated in
For example, as illustrated in
The command associating unit 22 calculates similarities between the commands in order to calculate similarities between the target operation manual 100A and the existing operation manuals 100B and associates commands of the target operation manual 100A with commands of the existing operation manuals 100B in the same manner as the command associating unit 22 according to the first embodiment.
The command associating unit 222 associates commands extracted from the existing operation manuals 100B with commands extracted from the automation scripts 200B in order to calculate similarities between the existing operation manuals 100B and the automation scripts 200B. A specific method for the association is the same as or similar to the association of the commands extracted from the target operation manual 100A with the commands extracted from the existing operation manuals 100B, and a description thereof is omitted.
The file similarity calculator 223 calculates file similarities between the target operation manual 100A and the existing operation manuals 100B based on the results of associating the commands by the command associating unit 222, in the same manner as the file similarity calculator 23 according to the first embodiment.
In addition, the file similarity calculator 223 calculates file similarities between the existing operation manuals 100B and the existing automation scripts 200B based on the results of associating the commands by the command associating unit 222. A method of calculating the file similarities is the same as or similar to the method of calculating the file similarities between the target operation manual 100A and the existing operation manuals 100B, and a description thereof is omitted.
In addition, the file similarity calculator 223 extracts pairs of existing operation manuals 100B and automation scripts 200B between which calculated file similarities are equal to or larger than a predetermined threshold THf2. The pairs between which the file similarities are equal to or larger than the predetermined threshold THf2 are extracted due to the fact that even if a file similarity between an existing operation manual 100B and an automation script 200B is largest, the existing operation manual 100B may not be similar to the automation script 200B. Thus, if a file similarity between an existing operation manual 100B and an automation script 200B is smaller than the threshold THf2, the existing operation manual 100B is not associated with the automation script 200B. The threshold THf2 is set in advance based on accuracy requested for the search device or the like.
Each existing operation manual 100B may be associated with a respective automation script 200B. Each existing operation manual, however, may be associated with a number N of automation scripts. Alternatively, a number N of existing operation manuals may be associated with a single automation script or may be associated with a number N of automation scripts. For example, a pair of an existing operation manual 100B and automation script 200B between which a file similarity is equal to or larger than the predetermined threshold THf2 and is largest may be extracted. All automation scripts 200B of which file similarities with each existing operation manual 100B are equal to or larger than the predetermined threshold THf2 may be extracted. In addition, automation scripts 200B of which file similarities with each existing operation manual 100B are equal to or larger than the predetermined threshold THf2 and are the top N file similarities may be extracted.
For example, as illustrated in
The searcher 224 searches, based on the file similarities between the target operation manual 100A and the existing operation manuals 100B, an existing operation manual 100B similar to the target operation manual 100B in the same manner as the searcher 24 according to the first embodiment. Then, the searcher 224 searches an automation script 200B associated with the searched existing operation manual 100B. The searcher 224 does not search the automation script 200B directly from the automation script DB 32 in the manner described in the first embodiment. The searcher 224 searches the automation script 200B associated with the existing operation manual 100B similar to the target operation manual 100A based on information stored in the association information DB 35.
Specifically, the searcher 224 acquires an automation script ID stored in a row in which the operation manual ID of the searched existing operation manual 100B is stored in an “operation manual ID” item of the association information DB 35. Then, the searcher 224 searches the automation script 200B from the automation script DB 232 based on the acquired automation script ID.
In addition, the searcher 224 presents commands associated between the searched existing operation manual 100B and the searched automation script 200B while presenting the searched existing operation manual 100B and the searched automation script 200B, as illustrated in
In the second embodiment, the existing manuals 100B are associated with the automation scripts 200B in accordance with the file similarities based on the association of commands, as described above. Thus, a certain existing operation manual 100B may not be associated with an automation script 200B generated from the certain existing operation manual 100B. A command that is not associated between an existing operation manual 100B and an automation script 200B may not be used for the generation of the automation script 200A from the target operation manual 100A. Presenting commands associated between the existing operation manual 100B and the automation script 200B may support the person in charge of automation to determine whether or not the commands may be used when the person references the presented automation script 200B.
The search device 210 may be achieved by the computer 40 illustrated in
The CPU 41 reads the search program 250 from the storage unit 43, loads the read search program 250 into the memory 42, and sequentially executes processes included in the search program 250. In addition, the CPU 41 reads the information stored in the automation script storage region 262 and loads the read information as the automation script DB 232 illustrated in
The search program 250 includes a command extraction process 251, a command association process 252, a file similarity calculation process 253, and a search process 254. The CPU 41 operates as the command extractor 221 illustrated in
The search device 210 may be achieved by a semiconductor integrated circuit, for example. Specifically, the search device 210 may be achieved by an ASIC or the like.
Next, effects of the search device 210 according to the second embodiment are described. In the second embodiment, before the search process described in the first embodiment, the search device 210 executes a process of associating existing operation manuals with automation scripts. The process of associating existing operation manuals with automation scripts is illustrated in
In step S31 of the process (illustrated in
Next, in step S32, the command extractor 221 extracts commands from command strings 202 included in the automation script Sk. In step S33, the command extractor 221 references a conversion definition 201 of the automation script Sk and determines whether or not a part at which a specific character string is converted into a variable upon the generation of the automation script from an operation manual exists. If the part exists, the process proceeds to step S34, the command extractor 221 reconverts the variable converted from the specific character string into the character string, and the process proceeds to step S35. On the other hand, if the part does not exist, the process skips step S34 and proceeds to step S35.
In step S35, the command extractor 221 gives command IDs to the commands extracted from the automation script Sk or commands reconverted based on the conversion definition 201 in order of the appearance of the commands within the automation script Sk. Then, the command extractor 221 associates the command IDs with the automation script ID of the automation script Sk from which the commands are extracted and causes the command IDs and the automation script ID to be stored in the automation script command DB 34.
Next, in step S36, the command extractor 221 determines whether or not the variable k reaches K, and the command extractor 221 thereby determines whether or not the process of extracting commands is executed on all the automation scripts Sk included in the automation script DB 232. If the variable k does not reach K, the process proceeds to step S37, the command extractor 221 increments the variable k by 1, and the process returns to step S32. If the variable k reaches K, the process proceeds to step S38 illustrated in
In step S38, the command extractor 221 extracts commands from command strings 103 included in the existing operation manuals Pi stored in the operation manual DB 31. Then, the command extractor 221 gives command IDs to the extracted commands in order of the appearance of the commands within the existing operation manuals Pi, associates the command IDs with the operation manual IDs (i) of the operation manuals Pi from which the commands are extracted, and causes the commands, the command IDs, and the operation manual IDs (i) to be stored in the operation manual command DB 33.
Next, in step S39, the command associating unit 222 sets, to 1, the variable i for identifying an existing operation manual Pi to be processed. Next, in step S40, the command associating unit 222 sets, to 1, the variable k for identifying an automation script Sk to be processed. Next, in step S41, the command associating unit 222 sets, to 1, a variable m for identifying a command ci, m to be processed among commands included in the existing operation manual Pi.
Next, in step S42, the command associating unit 222 calculates similarities between the command ci, m of the existing operation manual Pi and commands Ck, n′ of the automation script Sk. In this case, n=1, 2, . . . , N(i), while N(i) is the number of commands included in the automation script Sk. In addition, n′ represents the commands excluding a command preceding the command associated with the command ci, m of the existing operation manual Pi.
Next, in step S43, the command associating unit 222 determines whether or not the largest value among the similarities calculated in the aforementioned step S42 is equal to or larger than the threshold THc. If the largest value among the similarities is equal to or larger than the threshold THc, the process proceeds to step S44. In step S44, the command associating unit 222 associates a pair of the operation manual ID (i) of the existing operation manual Pi and the command ID (m) of the command ci, m with a pair of the automation script ID (k) of the automation script Sk and the command ID of a command Ck, n′ of which a similarity with the command ci, m is largest among the calculated similarities. Then, the command associating unit 222 causes the associated pairs to be temporarily stored in the predetermined storage region and the process proceeds to step S45. On the other hand, if the largest value among the similarities is smaller than the threshold THc in the aforementioned step S43, the process skips step S44 and proceeds to step S45.
In step S45, the command associating unit 222 determines whether or not the variable m reaches M(i), and the command associating unit 222 thereby determines whether or not a process of associating all commands included in the existing operation manual Pi with commands included in the automation script Sk is executed. If the variable m does not reach M(i), the process proceeds to step S46, the command associating unit 222 increments the variable m by 1, and the process returns to step S42. If the variable m reaches M(i), the process proceeds to step S47.
In step S47, the file similarity calculator 223 calculates a file similarity between the existing operation manual Pi and the automation script Sk based on the results of associating the commands by the command associating unit 222. The file similarity calculator 223 associates the calculated file similarity with the operation manual ID (i) of the existing operation manual Pi and the automation script ID (k) of the automation script Sk and causes the file similarity, the operation manual ID (i), and the automation script ID (k) to be temporarily stored in the predetermined storage region.
Next, in step S48, the file similarity calculator 223 determines whether or not the variable k reaches K. By making the determination, the file similarity calculator 223 determines whether or not a process of calculating file similarities between the existing operation manual Pi and all the automation scripts Sk stored in the automation script DB 32 is executed. If the variable k does not reach K, the process proceeds to step S49, the file similarity calculator 223 increments the variable k by 1, and the process returns to step S41. If the variable k reaches K, the process proceeds to step S50.
In step S50, the file similarity calculator 223 determines whether or not the variable i reaches I. By making the determination, the file similarity calculator 223 determines whether or not a process of calculating file similarities between all the existing operation manuals Pi stored in the operation manual DB 31 with all the automation scripts Sk stored in the automation script DB 32 is executed. If the variable i does not reach I, the process proceeds to step S51, the file similarity calculator 223 increments the variable i by 1, and the process returns to step S40. If the variable i reaches I, the process proceeds to step S52.
In step S52, the file similarity calculator 223 extracts pairs of existing operation manuals Pi and automation scripts Sk of which calculated file similarities with the existing operation manuals Pi are equal to or larger than the predetermined threshold THf2. Then, the file similarity calculator 223 associates the operation manual IDs (i) of the existing operation manuals Pi of the extracted pairs with the automation script IDs (k) of the automation scripts Sk of the extracted pairs and causes the operation manuals IDs (i) and the automation script IDs (k) to be stored in the association information DB 35. In addition, the file similarity calculator 223 causes information of commands associated between the associated existing operation manuals Pi and the associated automation scripts Sk to be stored in the association information DB 35 and terminates the process of associating existing operation manuals with automation scripts.
The search process may be executed in the same manner as the first embodiment. In the second embodiment, the process of extracting commands from the existing operation manuals is executed in the process of associating existing operation manuals with automation scripts. Thus, in the search process according to the second embodiment, the process of extracting commands from the existing operation manuals may be omitted in step S11 illustrated in
As described above, the search device 210 according to the second embodiment associates commands of existing operation manuals with commands of automation scripts while maintaining the orders of commands of command strings included in the existing operation manuals and the orders of commands of command strings included in the automation scripts and associates the existing operation manuals with the automation scripts based on the results of associating the commands. Then, the search device 210 according to the second embodiment searches an existing operation manual similar to the target operation manual and an automation script associated with the searched existing operation manual in the same manner as the first embodiment. Thus, the associations of the existing operation manuals with the automation scripts may be automatically executed, while the effects of the first embodiment are obtained.
Although the embodiments describe the case where file similarities are calculated based on the results of associating commands, the embodiments are not limited to this. For example, if a relationship between an existing operation manual and an automation script is determined to be high using information representing that the same responsible person generates the existing operation manual and the automation script or using information representing that a time and date when the existing operation manual is generated is close to a time and data when the automation script is generated, a file similarity between the existing operation manual and the automation script may be calculated to be high.
In addition, information that represents whether or not a presented existing operation manual and a presented automation script are used as references for generation of an automation script from a target operation manual may be fed back and reflected in file similarities and command similarities that will be calculated subsequent times.
Although the cases where the search programs 50 and 250 are stored (installed) in the storage unit 43 in advance are described above, the search programs 50 and 250 may be stored in a storage medium such as a CD-ROM, a DVD-ROM, or a USB memory and provided.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2014-153306 | Jul 2014 | JP | national |